【问题标题】:How do I set device owner to a priv-app as factory defaults?如何将设备所有者设置为 priv-app 作为出厂默认设置?
【发布时间】:2018-11-01 19:08:16
【问题描述】:

我知道您可以运行 adb 命令让应用成为设备所有者:

adb shell dpm set-device-owner com.example.app/.AdminReceiver

我已将 com.example.app 设为特权应用。有没有办法让我将此应用设置为在 ASOP ROM 中的设备所有者?这样当设备首次启动或恢复出厂设置后,应用程序将自动配置为设备所有者。

由于某些限制,我无法修改此特权应用程序。所以我正在寻找可以在应用程序之外完成的解决方案。

【问题讨论】:

    标签: android android-source


    【解决方案1】:

    由于您是特权应用,因此默认启用它应该没有问题。

    您需要boot receiver(确保包含指定的权限)。

    你还需要添加

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

    然后,在你的启动接收器中,你可以运行这个:

    DevicePolicyManager manager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
    manager.setActiveAdmin(
        new ComponentName(context, YourAdminReceiverClass.class),
        true
    );
    

    【讨论】:

    • 谢谢。有没有办法可以在ROM中设置而不是更改应用程序?由于某些限制,我无法使用此特权应用程序。
    • 你可以添加一个新的系统服务,或者劫持一个。
    • 你能说得更具体点吗?或用更多细节更新您的答案?欣赏它。
    • 只需运行我告诉你的代码,让它在你的引导接收器中运行。我不知道如何创建系统服务,所以帮不了你。
    猜你喜欢
    • 2023-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多