Glass thường được định cấu hình để sử dụng làm thiết bị chuyên dụng với một số ít ứng dụng tạo nên một giải pháp doanh nghiệp. Hướng dẫn sau đây minh hoạ cách thiết lập Glass làm thiết bị chuyên dụng.
Cung cấp
Cung cấp ít thao tác trên Glass Enterprise Edition 2 sẽ cài đặt và định cấu hình một ứng dụng quản trị được tải xuống từ siêu dữ liệu có trong mã QR. Ứng dụng này có thể tận dụng API DevicePolicyManager. Đây là phương thức ưu tiên để quản lý cấu hình của thiết bị.
Thay thế trình chạy
Để thiết lập một thiết bị chuyên dụng, bạn phải thay thế ứng dụng trình chạy. Điều này đảm bảo rằng ứng dụng chuyên dụng sẽ tự động khởi chạy sau khi thiết bị khởi động lại. Nội dung sau đây trình bày các việc cần làm để chuẩn bị một ứng dụng và đặt ứng dụng đó làm trình chạy:
- Bộ lọc ý định hoạt động
- Đặt một trình chạy mới
Bộ lọc ý định hoạt động
Bạn cần thêm các danh mục sau vào hoạt động chính trong tệp kê khai của ứng dụng:
<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>
Đặt một trình chạy mới
Để đặt một trình chạy mới, hãy gọi addPersistentPreferredActivity() từ ứng dụng quản trị. Tính năng này chỉ hoạt động nếu thiết bị đã được cấp phép. Đối với các thiết bị chưa được cung cấp, hãy chọn một trình chạy mới trong giao diện người dùng trên thiết bị.
Thêm hoạt động ưu tiên liên tục
Phương thức này cho phép bạn đặt một componentName
nhất định làm trình chạy của thiết bị mà không cần tương tác với thiết bị.
Kotlin
val filter = IntentFilter(Intent.ACTION_MAIN) filter.addCategory(Intent.CATEGORY_HOME) filter.addCategory(Intent.CATEGORY_DEFAULT) val componentName = ComponentName(PACKAGE_NAME, CLASS_NAME) val devicePolicyManager: DevicePolicyManager = context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager val adminName = getComponentName(context) devicePolicyManager.addPersistentPreferredActivity(adminName, filter, componentName)
Java
final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN); filter.addCategory(Intent.CATEGORY_HOME); filter.addCategory(Intent.CATEGORY_DEFAULT); final ComponentName componentName = new ComponentName(PACKAGE_NAME, CLASS_NAME); DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); final adminName = getComponentName(context); devicePolicyManager.addPersistentPreferredActivity(adminName, filter, componentName);
Sử dụng giao diện người dùng trên thiết bị
Sử dụng một trong các phương thức sau để hiện hộp thoại chọn trình chạy trên màn hình:
Sử dụng cử chỉ vuốt lên trong phần cài đặt
Vuốt ngược lại trên màn hình chính để hiện màn hình tóm tắt chế độ cài đặt. Sau đó, nhấn để chuyển đến màn hình cài đặt. Vuốt lên để hiện hộp thoại.
Sử dụng ý định trong ứng dụng
Kotlin
val intent = Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent);
Java
final Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent);
Sử dụng lệnh adb
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
Vuốt về phía trước và phía sau trên bàn di chuột để chọn ứng dụng bạn muốn, sau đó nhấn để xác nhận. Dùng cùng phương thức để chọn nút "Luôn luôn".
Chế độ khoá tác vụ
Chế độ khoá tác vụ cho phép bạn tạo danh sách các gói được phép chạy trên thiết bị.
Đặt các gói được phép
Đoạn mã sau đây cho biết cách thiết lập danh sách các gói:
Kotlin
private val KIOSK_PACKAGE = "com.example.kiosk" private val PLAYER_PACKAGE = "com.example.player" private val APP_PACKAGES = arrayOf(KIOSK_PACKAGE, PLAYER_PACKAGE) val devicePolicyManager: DevicePolicyManager = context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager val adminName = getComponentName(context) devicePolicyManager.setLockTaskPackages(adminName, APP_PACKAGES)
Java
private static final String KIOSK_PACKAGE = "com.example.kiosk"; private static final String PLAYER_PACKAGE = "com.example.player"; private static final String[] APP_PACKAGES = {KIOSK_PACKAGE, PLAYER_PACKAGE}; final DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); final ComponentName adminName = getComponentName(context); devicePolicyManager.setLockTaskPackages(adminName, APP_PACKAGES);
Bắt đầu chế độ khoá tác vụ
Hoạt động của ứng dụng có thể khởi động chế độ khoá tác vụ. Đoạn mã sau đây cho biết cách bạn có thể thực hiện việc này:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }