2014-10-14 5 views
8

У кого-нибудь есть задача блокировки, работающая в Android L? Могут ли они поделиться некоторыми сведениями о том, как это работает? Я видел инструкции ниже, но пытался понять это.Как использовать Android-L Preview Task Locking?

В настоящее время я создал приложение, которое я хотел бы запустить в режиме киоска. Я посмотрел, как сделать это приложение для запуска или использовать Surelock, но новая блокировка задач выглядит так, что в будущем это будет лучший вариант.

Мне нужно создать сборку userdebug для Android L? Я еще не создал 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 

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

Edit: Подробнее

Я попытался укоренения устройства (Nexus 7) работает на Android-L предварительного просмотра. Затем я помещаю device_owner.xml имя моего пакета в data/system /. Но он все еще не работает, islockTaskPermited() возвращает false, а вызов startLockTask() ничего не делает.

+0

Вы можете * получить ответы, если вы зададите этот вопрос на Android Stackexchange .. – cybermonkey

+0

В чем проблема? –

+0

Я задал связанный с этим вопрос на Android Stackexchange, о том, как мы включим его на устройствах Android-L: http://android.stackexchange.com/questions/85013/how-to-enable-task-locking-in -android-5-0-production-devices –

ответ

6

Taking Ниже Snip из Task Locking API

enter image description here

Понятно, что startLockTask() api будет hv-эффектом, если присутствует device_owner.xml.

Как проверить, является ли мое приложение владельцем устройства?

Когда вы являетесь владельцем устройства, вы можете установить приложение «Администратор устройства», а флажок будет серым, поэтому вы не захотите отменить этот флажок.

enter image description here

Вы должны дать систему прямо выдвигая device_owner.xml

Выполните следующие шаги:

  1. Создать device_owner.xml [убедитесь, что приложение будет присутствовать перед и толчок device_owner.XML]
  2. Перейдите к пути в терминале, где device_owner присутствует
  3. ADB толчка device_owner.xml/SDCard/
  4. ADB оболочка
  5. су
  6. ф /sdcard/device_owner.x/данные/системы/
  7. кд/данных/система/
  8. Чаун система: система device_owner.xml
  9. перезагрузка
+0

Спасибо! '8. chown system: система, похоже, сделала разницу, работая сейчас :) – tagy22

+0

Я знал это :) :) – KOTIOS

+0

Есть ли способ сделать это в версиях менее 21? –

2

сделать файл device_owner.xml используя ниже содержания, замените имя соответствующего пакета

<?xml version='1.0' encoding='utf-8' standalone='yes' ?> 
<device-owner package="com.your.packagename" name="Yourname" /> 

ADB нажимной device_owner.xml /data/system/device_owner.xml Reboot устройство.

из com.your.packagename приложения вызова

startLockTask(); 

от вашей деятельности

Даже если у вас нет userdebug, вы можете проверить его по телефону startLockTask, без нажатия какой-либо файл

+0

Вызов «startLockTask» без нажатия на файл, похоже, не имеет никакого эффекта. – tagy22

+0

@ tagy22 без нажатия device_owner.xml u не сможет пойти в режиме киоска – KOTIOS

+0

@nandeesh без нажатия device_owner.xml как можно использовать startLockTask() в Android L ??? – KOTIOS