android - Management API 删除被阻止的应用程序
问题描述
我将 Android Management API 与具有将特定应用程序列入黑名单的DEVICE_OWNER
策略"playStoreMode": "BLACKLIST"
和应用程序一起使用。"installType": "BLOCKED"
这是我用于开发的政策:
{
"name": "enterprises/<enterprise>/policies/<policy>",
"version": "1",
"applications": [
{
"packageName": "<enterprise app id>",
"installType": "FORCE_INSTALLED"
},
{
"packageName": "<blocked app id>",
"installType": "BLOCKED"
}
],
"alwaysOnVpnPackage": {
"packageName": "<enterprise app id>",
"lockdownEnabled": true
},
"playStoreMode": "BLACKLIST"
}
我看到的问题是,当用户手动将策略与 Google 的“设备策略”应用同步时,被列入黑名单的应用仅“由管理员”删除。
如何使列入黑名单的应用程序自动删除?
另外值得注意的是,该设备似乎同时符合和不符合该政策。使用 API 检查安装了被阻止应用程序的设备:
...
"name": "enterprises/<enterprise>/devices/<device id>",
"managementMode": "DEVICE_OWNER",
"state": "ACTIVE",
"appliedState": "ACTIVE",
"policyCompliant": true,
"nonComplianceDetails": [
{
"settingName": "applications",
"nonComplianceReason": "APP_INSTALLED",
"packageName": "<blocked app id>"
}
],
...
解决方案
我发现的唯一解决方法是允许安装该应用程序,但将其设置为禁用的应用程序。然后用户无法启动应用程序,从而有效地“阻止”它。
{
"packageName": "<blocked app id>",
"installType": "AVAILABLE",
"disabled": true
}
@Fred 你确认这是否是一个错误?就我而言,当用户将自己的 Google 帐户添加到 DEVICE_OWNER 模式设备时,可以很容易地复制这种情况。
推荐阅读
- go - 如何拥有函数指针的映射?
- java - 如何使用我的 void display() 在 java 中显示许多输入?
- javascript - 如何在角度中删除 .36.00 的小数点
- python - 如何使具有多个选择的 2 个 Tkinter (python) 列表框保持最新?
- svn - 删除 SVN 上的损坏修订
- rust - 根据类型注释返回不同类型值的 Rust 函数
- rust - 获取 TakeWhile 的长度?
- mysql - 包含 2 列的 SQL:总佣金和前 3 名用户的佣金
- github - 仅当推送到特定分支且标签存在时才触发 github 工作流
- mpandroidchart - 带有 Androidx 的 MPAndroidChart 库