为了账号安全,请及时绑定邮箱和手机立即绑定

Android中的Kiosk模式

Android中的Kiosk模式

杨魅力 2019-07-05 12:38:55
Android中的Kiosk模式我正在评估CF.NET企业应用程序能否以及如何移植到Android设备上。Windows移动电话上的应用程序以Kiosk模式运行,在该模式下,应用程序在启动后以全屏模式自动启动,并且用户无法意外或自愿地访问手机的任何其他部分。在Android上,在引导并阻止用户意外(或自愿)访问Android设备的任何其他部分之后,是否可能只有一个应用程序自动启动?
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

在新的安卓L预览版中,谷歌宣布任务锁定正是这样做的。然而,它似乎确实需要根。

LDeveloperPreview引入了一个新的任务锁定API,允许您暂时限制用户离开应用程序或被通知中断。例如,如果您正在开发一个教育应用程序来支持Android上的高风险评估要求,就可以使用它。一旦应用程序激活了此模式,用户将无法看到通知、访问其他应用程序或返回到主屏幕,直到应用程序退出该模式。

为了防止未经授权的使用,只有授权的应用程序才能激活任务锁定。此外,任务锁定授权必须由特别配置的设备所有者应用程序通过android.app.admin.DevicePolicyManager.setLockTaskComponents()方法。

若要设置设备所有者,请执行以下步骤:

  • 附加一个运行android的设备

    userdebug

    构建到您的开发机器。
  • 安装您的设备所有者应用程序。
  • 创建一个

    device_owner.xml

    文件并将其保存到

    /data/system

    设备上的目录。
$ adb root
$ adb shell stop
$ rm /tmp/device_owner.xml
$ echo "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>" >> /tmp/device_owner.xml
$ echo "&device-owner package=\"<your_device_owner_package>\" name=\"*<your_organization_name>\" />" >> /tmp/device_owner.xml
$ adb push /tmp/device_owner.xml /data/system/device_owner.xml
$ adb reboot

在应用程序中使用任务锁定API之前,请通过调用DevicePolicyManager.isLockTaskPermit()来验证您的活动是否得到了授权。

若要激活任务锁定,请调用android.app.Activity.startLockTask()你授权的活动。

当任务锁定处于活动状态时,以下行为将生效:

  • 状态栏为空,用户通知和状态信息被隐藏。
  • 家庭和最近的应用程序按钮是隐藏的。
  • 其他应用程序可能不会推出新的活动。
  • 当前的应用程序可能会启动新的活动,只要这样做不会创建新的任务。
  • 用户一直锁定在应用程序上,直到授权的活动调用。

    Activity.stopLockTask().


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 957 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信