3

我想达到什么目标?

仅出于内部目的/仅在我们的企业内部,我想要 Android 平板电脑,它只运行一个应用程序(使用 Ionic/Angular 制作),它甚至在重新启动平板电脑后出现并且用户无法离开它。

我认为我想要实现的技术描述称为专用设备(以前称为企业拥有的一次性设备,或 COSU)。

我想如何实现它?

我想通过Android Management API来实现这一点,这看起来是 MDM(移动设备管理)解决方案的绝佳选择。

Google在这里展示了如何使用 Android Management API 策略来实现这一点。

问题?

我无法摆脱状态和导航栏。

出于测试目的,我尝试使用常规的 YouTube 应用来实现这一目标。我"statusBarDisabled": true,能够禁用状态栏,因此用户无法与之交互,但它仍然可见。

导航栏也是如此

"persistentPreferredActivities":[  
   {  
      "receiverActivity":"com.google.android.youtube",
      "actions":[  
         "android.intent.action.MAIN"
      ],
      "categories":[  
         "android.intent.category.HOME",
         "android.intent.category.DEFAULT"
      ]
   }
]

我能够隐藏主页和最近的按钮,但后退按钮仍然存在,整个导航栏都是可见的。


下图可视化了问题:

以信息亭模式显示 YouTube 应用,状态栏和导航栏可见。

任何人都知道如何完全摆脱状态和导航栏?


这就是我的整个政策的样子:

import json

policy_name = enterprise_name + '/policies/policy1'

policy_json = '''
{
"safeBootDisabled": true,
"statusBarDisabled": true,
"keyguardDisabled": true,
"screenCaptureDisabled": true,
"factoryResetDisabled": true,
"cameraDisabled": true,
"blockApplicationsEnabled": true,
"systemUpdate": {
"type": "WINDOWED",
"startMinutes": 120,
"endMinutes": 240
},

"policyEnforcementRules": [{
"settingName": "persistentPreferredActivities",
"blockAction": {
"blockAfterDays": 0
},
"wipeAction": {
"wipeAfterDays": 3,
"preserveFrp": true
}
}],

"applications": [
{
"packageName": "com.google.android.youtube",
"installType": "FORCE_INSTALLED",
"lockTaskAllowed": true,
"defaultPermissionPolicy": "GRANT"
}
],
"persistentPreferredActivities": [
{
"receiverActivity": "com.google.android.youtube",
"actions": [
"android.intent.action.MAIN"
],
"categories": [
"android.intent.category.HOME",
"android.intent.category.DEFAULT"
]
}
]
}
'''

androidmanagement.enterprises().policies().patch(
name=policy_name,
body=json.loads(policy_json)
).execute()

4

1 回答 1

-2

您突出显示的两个栏实际上是 youtube 应用程序的一部分,而不是 android OS/UI 的一部分。因此,您无法使用设备管理 API 隐藏这些内容。

于 2019-07-10T05:10:51.700 回答