Android 系统设置的权限(背光设置)
2010-03-25 21:21:00 来源:WEB开发网try {
Log.v("Progress", "set brightness");
IHardwareService hardware = IHardwareService.Stub
.asInterface(ServiceManager.getService("hardware"));
if (hardware != null) {
hardware.setBacklights(brightness);
}
Log.v("set brightness", "OK");
} catch (RemoteException doe) {Log.v("set brightness", "ERROR");
}
}
代码很少,这样就实现了背光调节了,可以用吗,不可以,这样是会报错的,必需在AndroidManifest.xml中加上相关权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"
/>
<uses-permission
android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.HARDWARE_TEST" />
开始我以为这样就可以了,但还是一调节还是报错,查了半天资料才发现,还需要签名才能有这个权限,在manifest中加上 android:sharedUserId="android.uid.system"
然后在Android.mk
中通过证书来声明权限。
LOCAL_CERTIFICATE := platform
需要和manifest中的android:sharedUserId="android.uid.system" 对应起来。
platform 权限问题,最好运行在自己编译的系统上,才可以有次特权。
OK完成了,用MM编译这个APP,生成的APK就可以用了。注意:这个在SDK上使用ECLIPSE IDE是不能编译过只。只能在ANDROID系统中的编译环境下,配置好MK文件,用MAKE来编译。
更多精彩
赞助商链接