我正在构建一个Android KIOSK应用程序,我试图通过提供设备策略来启用的kiosk模式。
我的政策是:
{
"keyguardDisabled": true,
"applications": [
{
"packageName": "my.own.app",
"installType": "KIOSK",
"defaultPermissionPolicy": "GRANT"
}
]
}有趣的是,这个策略来自于官方API的例子,所以我认为这是可行的。不管怎么说,总是有这样的错误:
错误信息persistentPreferredActivities 4
而仅仅是谷歌搜索并不能让我知道如何解决这个问题。
当我将installType设置为KIOSK时,总是会出现这个错误。我的线索是,我的政策缺乏PersistentPreferredActivity json块。我把它加进去了,我仍然有这个错误。有趣的是,有一条注释:“注意:要建立一个信息亭,使用InstallType对kiosk,而不是使用持久的首选活动。”所以我们不需要PersistentPreferredActivity。但我当时不明白这个错误。
下一步。我试图通过将kioskCustomLauncherEnabled设置为true来创建kiosk模式。我设置了"installType":“可用”,这样我就可以从Android运行这个应用程序了。我成功地在一个设备上应用了这个策略。当我试图打开我的应用程序的Kiosk活动时,我有“”Toast。
基本上,我需要的可能是lockTaskAllowed修饰符,但它是不推荐的。
有人能帮我为KIOSK应用制定设备政策吗?
发布于 2020-02-14 06:23:45
请注意,KIOSK模式仅适用于完全管理的设备。要完全管理设备,必须使用包含注册令牌的QR代码或其他支持的招生方法从安装向导中提供该设备。
为了能够在策略中使用该应用程序,它必须在Google中可用。它要么是一个公共应用程序,要么是一个私有应用程序,提供给您使用管理的企业(ID)。
以下是"installType":"KIOSK“和kioskCustomLauncherEnabled的区别:
"installType":"KIOSK“用于将一个应用程序插入屏幕。
policy_json = '''
{
"applications": [
{
"packageName": "com.google.android.gm",
"installType": "KIOSK",
"defaultPermissionPolicy": "GRANT"
}
],
"debuggingFeaturesAllowed": true
}
'''现在,如果您想以KIOSK模式使用一组应用程序,可以使用kioskCustomLauncherEnabled。
policy_json = '''
{
"applications": [
{
"packageName": "com.android.chrome",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT"
},
{
"packageName": "com.google.android.gm",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT"
}
],
"debuggingFeaturesAllowed": true,
"kioskCustomLauncherEnabled": true,
"keyguardDisabled": true
}
'''发布于 2020-06-09 05:22:42
FWIW,我遇到了相同的Error info persistentPreferredActivities 4错误,并通过为<category android:name="android.intent.category.HOME"/>添加<category android:name="android.intent.category.HOME"/>和<category android:name="android.intent.category.DEFAULT"/>来解决错误。
我的AndroidManifest.xml现在看起来是这样的:
...
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
...(免责声明:希望这能帮助消除错误,但我对Android开发工作非常陌生,所以这可能不能解决所有问题)
https://stackoverflow.com/questions/59933362
复制相似问题