Glass thường được định cấu hình để dùng như một thiết bị chuyên dụng với một số ít ứng dụng tạo nên giải pháp cho 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.
Cấp phép
Cấp phép bằng cách chạm thấp trên Glass Enterprise Edition 2 sẽ cài đặt và định cấu hình một ứng dụng quản trị đã tải xuống từ siêu dữ liệu được cung cấp 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 thiết bị chuyên dụng, bạn phải thay thế ứng dụng chạy. Việc này đảm bảo ứng dụng chuyên dụng được tự động chạy sau khi thiết bị khởi động lại. Nội dung sau đây nêu các nhiệm vụ liên quan đến việc chuẩn bị và đặt ứng dụng làm trình chạy:
- Bộ lọc ý định hoạt động
- Đặ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 trình chạy mới
Để đặt trình chạy mới, hãy gọi add bềnPreferencesActivity() 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ị không được cấp phép, hãy chọn một trình chạy mới từ 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ỉ chạm vuốt lên trong phần cài đặt
Vuốt về phía sau 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 để vào màn hình cài đặt. Vuốt lên để hiển thị 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 mà bạn muốn dùng rồi nhấn để xác nhận. Sử dụng cùng một phương thức để chọn nút "Always".
Chế độ khoá tác vụ
Chế độ Khóa 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 bạn biết cách đặt 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ế độ khóa tác vụ
Chế độ khoá tác vụ có thể được bắt đầu bởi hoạt động của ứng dụng. Đ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(); }