Thiết bị chuyên dụng

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();
    }