棒棒糖设备所有者应用程序打破手机

时间:2015-01-28 20:42:30

标签: android android-5.0-lollipop device-owner

感谢such so answers我能够在智能手机上设置设备所有者应用。这是一个非常基本的测试应用程序,用于启用/禁用屏幕固定模式...

无论如何,最后它起作用但有一个非常非常糟糕的缺点:我已经失去了对手机功能的所有访问权

  • 除设置>外,不再有电话图标应用程序>全部
  • 如果我打电话给它,它在来电方面响了,但电话根本没有反应......
  • 但状态蜂窝图标表示它具有3G网络。

所有这些症状都非常奇怪,让我想知道我的小设备所有者应用程序是否锁定某个地方:有人对此有任何想法或经验吗?

1 个答案:

答案 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
            }
        }