Android Management API - Kiosk 模式下的单个应用程序 - 如何隐藏状态和导航栏?
Posted
技术标签:
【中文标题】Android Management API - Kiosk 模式下的单个应用程序 - 如何隐藏状态和导航栏?【英文标题】:Android Management API - Single App in Kiosk Mode - How to hide status and navigation bar? 【发布时间】:2019-11-10 17:23:07 【问题描述】:我想达到什么目标?
仅出于内部目的/仅在我们的企业内部,我想要 android 平板电脑,它只运行一个应用程序(使用 Ionic/Angular 制作),它甚至在重新启动平板电脑后出现并且用户无法离开它.
我认为我想要实现的技术描述称为专用设备(以前称为企业拥有的一次性设备,或 COSU)。
我想如何实现它?
我想通过 Android Management API 实现这一目标,这对于 MDM(移动设备管理)解决方案来说是一个不错的选择。
HereGoogle 展示了如何使用 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"
]
]
我可以隐藏主页和最近的按钮,但后退按钮仍然存在并且整个导航栏都可见。
下图显示了问题:
有人知道如何完全摆脱状态和导航栏吗?
这就是我的整个政策的样子:
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()
【问题讨论】:
我猜使用 Android Management API 的人并不多。 . . 您找到解决方案了吗?我在使用新的 installType KiosK 配置时遇到了同样的问题。 这里也一样。对我来说奇怪的是,它实际上上周对我有用,但是当我今天尝试使用相同的策略和应用程序重新配置设备时,它突然停止工作。使用kioskCustomLauncherEnabled
,我可以隐藏那些导航按钮(但如果可能的话,我更喜欢KIOSK
installType
)
【参考方案1】:
您突出显示的两个栏实际上是 youtube 应用程序的一部分,而不是 android OS/UI 的一部分。因此,您无法使用设备管理 API 隐藏这些内容。
【讨论】:
嘿@flint,感谢您的回答。但它们绝对不是 YouTube 的一部分。 YouTube 应用程序本身,例如底部没有条,只有一个后退按钮,顶部也没有空的灰色条。但我们只是在应用程序中处理它,而不是使用 API。以上是关于Android Management API - Kiosk 模式下的单个应用程序 - 如何隐藏状态和导航栏?的主要内容,如果未能解决你的问题,请参考以下文章
适用于设备的 Android Management API 更改策略
在 Android Management API Policy 中启用设备的相机应用
Android Management Api 失去对已注册设备的控制权
如何通过 Android Management API 在 KIOSK 模式下允许 systemui 活动?