作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过我的小部件更改亮度用反射(reflect)的方法但是此代码在 setBacklightBrightness.invoke(power, new Object[]{Brightness}) 时刻失败;并写入调用错误。请帮忙!
public static void LoadIPowerClass(Context context)
{
try{
//Load classes and objects
Object power;
Context fContext = context;
Class <?> ServiceManager = Class.forName("android.os.ServiceManager");
Class <?> Stub = Class.forName("android.os.IPowerManager$Stub");
Method getService = ServiceManager.getMethod("getService", new Class[] {String.class});
//Method asInterface = GetStub.getMethod("asInterface", new Class[] {IBinder.class});//of this class?
Method asInterface = Stub.getMethod("asInterface", new Class[] {IBinder.class}); //of this class?
IBinder iBinder = (IBinder) getService.invoke(null, new Object[] {Context.POWER_SERVICE});//
power = asInterface.invoke(null,iBinder);//or call constructor Stub?//
Method setBacklightBrightness = power.getClass().getMethod("setBacklightBrightness", new Class[]{int.class});
int Brightness = 5;
setBacklightBrightness.invoke(power, new Object[]{Brightness});//HERE Failen
Log.i(TAG, "Load internal IPower classes Ok");
}catch(InvocationTargetException e){ //HERE catch!!!!
....
最佳答案
非常感谢您的代码,它工作得很好!
关于您的异常,您可能错过了 DEVICE_POWER
在您的应用程序中获得许可。为了获得此权限,您必须使用 root uid。添加android:sharedUserId="android.uid.system"
在<manifest>
里面使用手机的 OEM key (构造函数使用的私钥,或您的开发平台的私钥)标记和签署您的应用程序。
问候
关于android - 为什么在 android setBacklightBrightness(int) 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927444/
我正在尝试通过我的小部件更改亮度用反射(reflect)的方法但是此代码在 setBacklightBrightness.invoke(power, new Object[]{Brightness})
我是一名优秀的程序员,十分优秀!