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 sentuhan rendah di Glass Enterprise Edition 2 akan menginstal dan mengonfigurasi aplikasi admin yang didownload dari metadata yang disediakan dalam kode QR. Aplikasi ini dapat memanfaatkan DeviceMediaItem API, yang merupakan metode pilihan untuk mengelola konfigurasi perangkat.

Ganti peluncur

Untuk menyiapkan perangkat khusus, Anda harus mengganti aplikasi peluncur. Ini memastikan bahwa aplikasi khusus diluncurkan secara otomatis setelah perangkat dimulai ulang. Konten berikut menjelaskan tugas yang terlibat dalam menyiapkan aplikasi dan menetapkannya sebagai peluncur:

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

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

    <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 addPersistentSelectedActivity() dari aplikasi admin. Proses 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 mundur di layar utama untuk menampilkan layar ringkasan setelan. Lalu, ketuk untuk masuk ke 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 maju dan mundur pada touchpad untuk memilih aplikasi pilihan, lalu ketuk untuk mengonfirmasi. Gunakan metode yang sama untuk memilih tombol "Selalu".

    Mode mengunci tugas

    Mode kunci tugas memungkinkan Anda membuat daftar paket yang diizinkan untuk berjalan pada perangkat.

    Tetapkan paket yang diizinkan

    Cuplikan berikut menunjukkan cara menetapkan 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 melakukan hal ini:

    Kotlin

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

    Java

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