如何使用Android-L预览任务锁定?

tag*_*y22 9 android kiosk kiosk-mode android-5.0-lollipop

有没有人在Android L中使用任务锁定工作?他们可以分享一些有关它如何运作的细节吗?我已经看到了下面的说明,但很难理解这一点.

目前我已经制作了一个我希望在自助服务终端模式下运行的应用程序.我已经看过它是一个启动器应用程序或使用Surelock,但新的任务锁定看起来将来是最好的选择.

我需要创建一个Android L的userdebug构建?我以前没有从源代码构建Android,我开始考虑制作一个版本,但我不认为Android-L的源代码可用吗?

To set up a device owner, follow these steps:

Attach a device running an Android userdebug build to your development machine.
Install your device owner app.
Create a device_owner.xml file and save it to the /data/system directory on the device.

$ 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
Run Code Online (Sandbox Code Playgroud)

https://developer.android.com/preview/api-overview.html

编辑:更多信息

我尝试使用运行Android-L预览版的设备(Nexus 7).然后我将一个带有我的包名的device_owner.xml放在data/system /中.但它仍然不起作用,islockTaskPermited()返回false,并且调用startLockTask()什么都不做.

KOT*_*IOS 6

任务锁定API获取下面的Snip

在此输入图像描述

很明显,如果存在device_owner.xml,startLockTask()api将是hv效果.

如何检查我的应用是否是设备所有者?

当您的应用程序是设备所有者时,您的应用程序将是设备管理员选项,并且复选框将显示为灰色,因此不允许您取消勾选该复选框.

在此输入图像描述

您需要在推送device_owner.xml时为系统提供权限

请遵循以下步骤:

  1. 创建device_owner.xml [确保在推送device_owner.xml之前应用程序存在]
  2. 导航到终端中存在device_owner的路径
  3. adb push device_owner.xml/sdcard /
  4. adb shell
  5. cp /sdcard/device_owner.xml/data/system /
  6. cd/data/system /
  7. chown系统:system device_owner.xml
  8. 重启