记录下

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

更多相关文章

  1. android 获取包名 通过包名获取应用签名
  2. android scrollview嵌套listview出现高度显示不全解决方案
  3. Android中音频文件的使用
  4. [置顶] android调用.net的webservice的例子获取手机的归属地
  5. Android(安卓)反射获取私有方法,成员变量
  6. Android之Http请求基础
  7. Android(安卓)杀掉自己进程的方法
  8. Android(安卓)调用shell命令打印
  9. Android中通过pid获取app包名

随机推荐

  1. 如何让Android程序支持安装到SD卡(APP2SD)
  2. Android中的属性动画理解
  3. Unity和Android相互通信
  4. Android(安卓)Build系统分析 一
  5. 美团热修复 Robust 方案接入(一)
  6. Android(安卓)layout优化
  7. Android通知栏-Notification(通知消息)
  8. Android(安卓)分区与文件系统
  9. Android(安卓)Handler解析
  10. 怎么把数组从android客户端传递到php服务