Perangkat khusus

Glass biasanya dikonfigurasi untuk digunakan sebagai perangkat khusus dengan sejumlah kecil aplikasi yang membentuk solusi perusahaan. Panduan berikut menunjukkan cara menyiapkan Glass sebagai perangkat khusus.

Penyediaan

Penyediaan tanpa interaksi di Glass Enterprise Edition 2 menginstal dan mengonfigurasi aplikasi admin yang didownload dari metadata yang disediakan dalam kode QR. Aplikasi ini dapat memanfaatkan API DevicePolicyManager, yang merupakan metode pilihan untuk mengelola konfigurasi perangkat.

Mengganti peluncur

Untuk menyiapkan perangkat khusus, Anda harus mengganti aplikasi peluncur. Hal ini memastikan bahwa aplikasi khusus diluncurkan secara otomatis setelah perangkat dimulai ulang. Konten berikut menguraikan tugas-tugas yang terlibat dalam menyiapkan aplikasi dan menyetelnya sebagai peluncur:

  • Filter intent aktivitas
  • Menetapkan peluncur baru
  • Filter intent aktivitas

    Anda perlu menambahkan kategori berikut ke aktivitas utama dalam manifes aplikasi:

    <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>

    Menyetel peluncur baru

    Untuk menyetel peluncur baru, panggil addPersistentPreferredActivity() dari aplikasi admin. Tindakan ini hanya berfungsi jika perangkat telah disediakan. Untuk perangkat yang tidak disediakan, pilih peluncur baru dari UI di perangkat.

    Menambahkan aktivitas pilihan persisten

    Metode ini memungkinkan Anda menetapkan componentName tertentu sebagai peluncur perangkat, tanpa berinteraksi dengan perangkat.

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

    Menggunakan UI di perangkat

    Gunakan salah satu metode berikut untuk menampilkan dialog pemilihan peluncur di layar:

    Menggunakan gestur sentuh geser ke atas di setelan

    Geser ke belakang di layar utama untuk menampilkan layar ringkasan setelan. Kemudian, ketuk untuk membuka layar setelan. Geser ke atas untuk menampilkan dialog.

    Menggunakan intent dalam aplikasi

    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);
    Menggunakan perintah adb

    adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME

    Geser ke depan dan belakang di touchpad untuk memilih aplikasi yang Anda inginkan, lalu ketuk untuk mengonfirmasi. Gunakan metode yang sama untuk memilih tombol "Selalu".

    Mode mengunci tugas

    Mode tugas terkunci memungkinkan Anda membuat daftar paket yang diizinkan untuk dijalankan di perangkat.

    Menetapkan paket yang diizinkan

    Cuplikan berikut menunjukkan cara menyetel daftar paket:

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

    Mulai mode mengunci tugas

    Mode mengunci tugas dapat dimulai oleh aktivitas aplikasi. Cuplikan berikut menunjukkan cara melakukannya:

    Kotlin

    override fun onResume() {
        super.onResume()
        activity.startLockTask()
    }

    Java

    @Override
    public void onResume() {
      super.onResume();
      getActivity().startLockTask();
    }