如何向AOSP添加自定义INTENT以访问系统级控制调用?

问题描述 投票:1回答:1

我需要能够使用重新启动功能。安全不允许我这样做。该平台是一个自定义版本,因此它将仅是基于AOSP的版本的一部分。

我想知道如何更改AOSP并能够调用系统功能以进行重新引导。是否可以添加一个可以从用户空间调用的自定义INTENT,然后它将为我执行重新启动命令?

以下代码在用户级别的应用程序中不起作用,因此我想我可以从AOSP构建中执行此操作,并添加一个我可以调用的自定义意图。可能吗?

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();
}
android android-intent android-source
1个回答
0
投票

您必须是系统应用。诸如重新启动之类的某些权限仅授予系统应用程序。您已使用平台证书(generate a jks from platform.pk8 and platform.x509.pem

对应用进行签名

然后在清单中请求重新启动许可:

<uses-permission android:name="android.permission.REBOOT" />

然后您可以调用重新启动:

PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
pm.reboot(null)

请确保为use your own certificates,而不是AOSP中的默认值。每个人都有他们,可以让他们的应用成为您平台上的系统应用]

© www.soinside.com 2019 - 2024. All rights reserved.