如何将设备所有者设置为priv-app作为出厂默认值?

时间:2018-11-01 19:08:17

标签: android android-source

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

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

我已将com.example.app设置为特权应用。是否可以通过在ASOP ROM 中将该应用设置为设备所有者?这样,当设备首次启动或恢复出厂设置后,该应用将自动设置为设备所有者。

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

1 个答案:

答案 0 :(得分:0)

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

您需要一个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
);