我需要能够访问重启功能。安全不允许我这样做。该平台是一个自定义构建,因此这将只是我基于 AOSP 的构建的一部分。
我想知道如何更改 AOSP 并调用系统函数来重启。是否可以添加我可以从用户空间调用的自定义 INTENT,然后为我执行重启命令?
以下代码在用户级应用程序中不起作用,所以我想我可以从 AOSP 构建中执行此操作并添加一个我可以调用的自定义 Intent 。可能吗?
Process chperm;
try {
Runtime rt = Runtime.getRuntime();
chperm = rt.exec(new String[] {"/system/bin/reboot"});
chperm.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
最佳答案
你必须是一个系统应用程序。某些权限(如重启)仅授予系统应用程序。 您已使用平台证书 ( generate a jks from platform.pk8 and platform.x509.pem ) 为您的应用签名
然后在 list 中请求重启权限:
<uses-permission android:name="android.permission.REBOOT" />
然后就可以调用reboot了:
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
pm.reboot(null)
一定要use your own certificates ,而不是 AOSP 的默认值。每个人都有他们,可以让他们的应用程序成为您平台上的系统应用程序
关于android - 如何向 AOSP 添加自定义 INTENT 以授予对系统级控制调用的访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58725833/