gpt4 book ai didi

Android Management API 的委托(delegate)范围似乎没有被 Companion 应用程序获取

转载 作者:行者123 更新时间:2023-11-29 15:34:03 25 4
gpt4 key购买 nike

Android Management API reference 之后,我们已将 Android Companion 应用配置为能够:启用系统应用、隐藏和取消隐藏包。

我们在策略配置中添加了以下信息:

{
'
'
'
"applications": [
{
"packageName": "com.domain.app",
"installType": "REQUIRED_FOR_SETUP",
"defaultPermissionPolicy": "GRANT",
"delegatedScopes": [
"ENABLE_SYSTEM_APP",
"PACKAGE_ACCESS"
]
}
],
'
'
'
}

然后,在我们的 Android Companion 应用中,我们根据 Google 文档添加了以下代码行 herehere :

DevicePolicyManager dpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName admin = new ComponentName(mContext, DeviceAdminReceiver.class);

// Iterate through system application package names list
for (String packageName : systemAppsList) {
if (packageName != null && !packageName.equals("")) {
try {
// Re-enable a system app that was disabled by default when the user was initialized
dpm.enableSystemApp(admin, packageName);

// Unhide a package (it could be any app : system, managed, etc...)
dpm.setApplicationHidden(admin, packageName, false);
} catch (SecurityException e) {
e.printStackTrace();
Log.e(TAG, e.getMessage());
}
}
}

我们希望 Android 启动器显示已启用的系统应用程序,但 Android 捕获了一个SecurityException 并打印了以下错误日志:

No active admin ComponentInfo{com.domain.app/android.app.admin.DeviceAdminReceiver}

你知道哪里出了问题吗?

最佳答案

在您的方法调用中,如果您正在使用授权范围,请将管理参数设置为 null,如 Android Documentation 中所述。

ComponentName: Which DeviceAdminReceiver this request is associated with, or null if the caller is a package access delegate. This value must never be null.

有点令人困惑,如果使用委托(delegate)范围并且在同一时间之后,admin 参数可以设置为 null ...这个值永远不能为 null,(伟大的谷歌)

关于Android Management API 的委托(delegate)范围似乎没有被 Companion 应用程序获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55954981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com