感谢such so answers我能够在智能手机上设置设备所有者应用。这是一个非常基本的测试应用程序,用于启用/禁用屏幕固定模式...
无论如何,最后它起作用但有一个非常非常糟糕的缺点:我已经失去了对手机功能的所有访问权
所有这些症状都非常奇怪,让我想知道我的小设备所有者应用程序是否锁定某个地方:有人对此有任何想法或经验吗?
答案 0 :(得分:2)
我找到了自己的答案。
关键是使用DevicePolicyManager.enableSystemApp方法重新启用默认系统应用程序,因为出于某种原因在安装时使用NFC触发设备所有者应用程序配置设备时,会阻止进一步安装所有默认应用程序(至少在我的Nexus 6上)。
因此,一旦配置等,我列出了所有已卸载的应用程序,并使用以下代码重新启用它们:
DevicePolicyManager mDPM = (DevicePolicyManager) this.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName mDeviceAdminRcvr = new ComponentName(this, DeviceAdminRcvr.class);
List<PackageInfo> packs = getPackageManager().getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
for (int i=0; i<packs.size(); i++)
{
PackageInfo p = packs.get(i);
try {
mDPM.enableSystemApp(mDeviceAdminRcvr, p.packageName);
} catch (Exception e) {
// TODO: handle exception
}
}