我尝试使用goToSleep()
让手机进入深度睡眠的方法。
程序被安装到 /system/app 目录中,因此 Android 系统信息显示,它是一个系统应用程序,但如果我尝试调用 goToSleep() 我会收到此错误
用户 10085 和当前进程都没有 android.permission.DEVICE_POWER。
代码采样:
IPowerManager mPowerManager = IPowerManager.Stub.asInterface(ServiceManager.getService("power"));
long time = SystemClock.uptimeMillis() + 1000;
try {
mPowerManager.goToSleep(time);
} catch (RemoteException e) {
Toast.makeText(getApplicationContext(), "error: " + e.toString(), Toast.LENGTH_LONG).show();
e.printStackTrace();
}
AndroidManifest.xml
<permission android:name="android.permission.DEVICE_POWER"/>
<uses-permission android:name="android.permission.DEVICE_POWER" />
<permission android:name="android.permission.REBOOT"/>
<uses-permission android:name="android.permission.REBOOT"/>
据我了解,如果我运行系统应用程序,我就可以访问所有 Android 隐藏或系统功能,或者我错了?
我尝试将应用程序作为系统应用程序运行的事情:
- 将文件复制到/system/app
- chown 0:0
- 修改4755
- chmod ugo+s
也许其他人已经遇到过这个问题。任何的意见都将会有帮助
通过查看源代码我发现你需要signature permission
,我认为作为一个系统应用程序是不够的,你需要使用 rom 的相同证书进行签名,即/system/framework/android/framework-res.apk
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)