Thiết bị chuyên dụng

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