记录下

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 反射获得控件对象
  3. android反射方式访问内部类成员
  4. Android主流IOC框架浅析(Java注解反射原理)
  5. android通过反射来获取系统属性SystemProperties
  6. 4.11笔记 android database打开方式,ios反射
  7. Android反射机制实例
  8. Android获取设备信息(利用反射)
  9. android中通过"反射"的到android隐藏的API

随机推荐

  1. Android实现录制视频
  2. Android的AlertDialog的6种使用情景
  3. android沉浸式状态栏和虚拟按键
  4. android中把 SharedPreferences抽出的一
  5. Android(安卓)webview doesn't display w
  6. android实现gallery一个一个滑动
  7. Android(安卓)AsyncTask实例
  8. android之文件的写入与读取
  9. Android(安卓)获取ip地址
  10. android下TTS的传感器切换听筒和扬声器测