【发布时间】:2017-12-22 14:13:19
【问题描述】:
在使用设置为设备所有者模式的应用配置设备后,我正在尝试使用enableSystemApp 方法激活默认系统应用。
有两种方法可以做到这一点:
1) void enableSystemApp (ComponentName admin, String packageName) - 在这种情况下,您需要将包名称显式传递为字符串。它工作正常,应用程序已启用。
例如调用这个
devicePolicyManager.enableSystemApp(deviceAdminComponent, "com.google.android.gm");
启用默认的 Gmail 客户端,该客户端在配置后被禁用。
2) int enableSystemApp (ComponentName admin, Intent intent) - 在这种情况下,您需要传递一个隐式 Intent 并且 Android 应该启用与该 Intent 匹配的所有系统应用。此外,此方法返回与意图匹配的应用程序的 int 数量。这就是问题所在 - 我无法让这个方法工作,它总是返回 0 并且不启用任何东西。
这是我尝试使用的 sn-p:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_APP_EMAIL);
int i = devicePolicyManager.enableSystemApp(deviceAdminComponent, intent);
在这种情况下它不起作用并且 i == 0。我做错了什么?
感谢任何帮助!
【问题讨论】:
标签: android android-intent provisioning