2014-10-14 15 views
8

Có ai có khóa công việc đang hoạt động trong Android L không? Họ có thể chia sẻ một số chi tiết về cách nó hoạt động? Tôi đã thấy các hướng dẫn dưới đây, nhưng cố gắng để hiểu điều này.Cách sử dụng tính năng Xem trước Android-L Task Locking?

Hiện tại tôi đã tạo một Ứng dụng mà tôi muốn chạy ở chế độ kiosk. Tôi đã xem xét làm cho nó một ứng dụng launcher hoặc sử dụng Surelock nhưng khóa nhiệm vụ mới trông giống như nó sẽ là lựa chọn tốt nhất trong tương lai.

Tôi cần tạo một bản dựng Android L của người dùng? Tôi chưa xây dựng Android từ nguồn trước đây, tôi bắt đầu xem xét việc tạo dựng nhưng tôi không nghĩ rằng nguồn cho Android-L vẫn khả dụng?

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: Thông tin thêm

tôi đã cố gắng cổ vũ điện thoại của tôi (Nexus 7) chạy Android-L xem trước. Sau đó tôi đặt một device_owner.xml với tên gói của tôi trong dữ liệu/hệ thống /. Nhưng nó vẫn không hoạt động, islockTaskPermited() trả về false, và gọi hàm startLockTask() không làm gì cả.

+0

Bạn * có thể * nhận được câu trả lời tốt hơn nếu bạn đặt câu hỏi này trên Android Stackexchange .. – cybermonkey

+0

Bạn gặp phải vấn đề gì? –

+0

Tôi đã hỏi một câu hỏi liên quan trên Android Stackexchange, về cách chúng tôi sẽ bật tính năng này trên các thiết bị Android-L sản xuất: http://android.stackexchange.com/questions/85013/how-to-enable-task-locking-in -android-5-0-production-devices –

Trả lời

6

Lấy Dưới Snip từ Task Locking API

enter image description here

Rõ ràng là startLockTask() api sẽ có hiệu lực hv nếu device_owner.xml có mặt.

Làm cách nào để kiểm tra xem ứng dụng của tôi có phải là chủ sở hữu thiết bị không?

Khi bạn là chủ sở hữu thiết bị, ứng dụng của bạn là tùy chọn Quản trị viên thiết bị sẽ được chọn và hộp kiểm sẽ chuyển sang màu xám do đó sẽ không cho phép bạn bỏ chọn hộp kiểm.

enter image description here

Bạn cần phải cung cấp cho hệ thống bên phải trong khi đẩy device_owner.xml Thực hiện theo

các bước dưới đây:

  1. Tạo device_owner.xml [chắc chắn rằng ứng dụng này sẽ có mặt trước khi u đẩy device_owner.xml]
  2. Navigate to đường dẫn trong thiết bị đầu cuối nơi device_owner hiện diện
  3. adb push device_owner.xml/sdcard/
  4. adb shell
  5. su
  6. cp /sdcard/device_owner.xml/data/system/
  7. cd/data/system/
  8. chown hệ thống: hệ thống device_owner.xml
  9. reboot
+0

Cảm ơn! '8. hệ thống chown: system' dường như đã tạo sự khác biệt, đang hoạt động ngay bây giờ :) – tagy22

+0

tôi biết điều này :) :) – KOTIOS

+0

Có một cách để làm điều này trong các phiên bản dưới 21? –

2

Thực hiện một device_owner.xml tập tin sử dụng bên dưới nội dung, thay thế tên gói thích hợp

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

adb push device_owner.xml /data/system/device_owner.xml thiết bị khởi động lại.

từ com.your.packagename ứng dụng gọi điện

startLockTask(); 

từ hoạt động của bạn

Thậm chí nếu bạn không có userdebug, bạn có thể kiểm tra nó bằng cách gọi startLockTask, mà không đẩy bất kỳ tập tin

+0

Gọi 'startLockTask' mà không cần đẩy tập tin dường như không có hiệu ứng. – tagy22

+0

@ tagy22 mà không cần đẩy device_owner.xml u wont có thể đi ở chế độ kiosk – KOTIOS

+0

@nandeesh mà không cần đẩy device_owner.xml làm thế nào u có thể sử dụng startLockTask() trong Android L ??? – KOTIOS

Các vấn đề liên quan