Android(安卓)app获取android.permission.BATTERY_STATS权限
16lz
2022-04-24
记录下
1.手机root
2.Android工程AndroidManifest.xml声明
3.adb shell pm grant com.asksven.betterbatterystats android.permission.BATTERY_STATS
反射调用获取BatterStats信息
Class<?> mBatteryInfoClazz = Class.forName("com.android.internal.app.IBatteryStats$Stub"); Class<?> serviceManagerClazz = Class.forName("android.os.ServiceManager"); Method getSevice = serviceManagerClazz.getMethod("getService", String.class); IBinder binder = ((IBinder) getSevice.invoke(null, "batterystats")); Log.e("batteryinfo","binder is " + (binder == null ? "null" : "not null")); Method asInterface = mBatteryInfoClazz.getMethod("asInterface",new Class[]{IBinder.class}); Object object = asInterface.invoke(null,binder); Method getStatistics = object.getClass().getMethod("getStatistics"); byte[] data = ((byte[]) getStatistics.invoke(object)); Log.e("batteryinfo",object.getClass().getName() + " data size " + data.length);
https://github.com/asksven/BetterBatteryStats/issues/716
更多相关文章
- android 获取包名 通过包名获取应用签名
- android scrollview嵌套listview出现高度显示不全解决方案
- Android中音频文件的使用
- [置顶] android调用.net的webservice的例子获取手机的归属地
- Android(安卓)反射获取私有方法,成员变量
- Android之Http请求基础
- Android(安卓)杀掉自己进程的方法
- Android(安卓)调用shell命令打印
- Android中通过pid获取app包名