Glass genellikle kurumsal bir çözüm oluşturan az sayıda uygulamayla özel bir cihaz olarak kullanılacak şekilde yapılandırılır. Aşağıdaki kılavuzda, Glass'ın özel bir cihaz olarak nasıl kurulacağı gösterilmektedir.
Temel hazırlık yapılıyor
Glass Enterprise Edition 2'de el değmeden temel hazırlık, bir QR kodunda sağlanan meta verilerden indirilen bir yönetici uygulamasını yükleyip yapılandırır. Bu uygulama, cihazın yapılandırmasını yönetmek için tercih edilen DevicePolicyManager API'sinden yararlanabilir.
Başlatıcıyı değiştir
Özel bir cihaz kurmak için başlatıcı uygulamasını değiştirmeniz gerekir. Bu şekilde, cihaz yeniden başlatıldığında özel uygulama otomatik olarak başlatılır. Aşağıdaki içerik, bir uygulamayı hazırlama ve başlatıcı olarak ayarlamayla ilgili görevleri özetlemektedir:
- Etkinlik amacı filtresi
- Yeni başlatıcı ayarlama
Etkinlik amacı filtresi
Aşağıdaki kategorileri uygulamanızın manifest dosyasındaki ana etkinliğe eklemeniz gerekir:
<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>
Yeni bir başlatıcı ayarla
Yeni bir başlatıcı ayarlamak için yönetici uygulamasından PermanentlyPermanentlyActivity() çağrısı yapın. Bu özellik yalnızca cihazın temel hazırlığı zaten yapılmışsa çalışır. Temel hazırlığı yapılmamış cihazlar için cihazdaki kullanıcı arayüzünden yeni bir başlatıcı seçin.
Kalıcı tercih edilen etkinlik ekleme
Bu yöntem, cihazla etkileşime girmeden belirli bir componentName
cihazını cihazınızın başlatıcısı olarak ayarlamanıza olanak tanır.
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);
Kullanıcı arayüzünü cihazda kullan
Ekranda bir başlatıcı seçim iletişim kutusu göstermek için aşağıdaki yöntemlerden birini kullanın:
Ayarlarda yukarı kaydırma hareketini kullanma
Ayarlar özet ekranını görüntülemek için ana ekranda geri kaydırın. Ardından ayarlar ekranına girmek için dokunun. İletişim kutusunu göstermek için yukarı kaydırın.
Uygulamada amaç kullanma
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);
Adb komutunu kullanma
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
Tercih ettiğiniz uygulamayı seçmek için dokunmatik alanda ileri ve geri kaydırın ve onaylamak için dokunun. "Her zaman" düğmesini seçmek için aynı yöntemi kullanın.
Görev modunu kilitleme
Kilit görevi modu, cihazda çalıştırılmasına izin verilen paketlerin listesini oluşturmanıza olanak tanır.
İzin verilen paketleri belirleyin
Aşağıdaki snippet'te, paket listesini nasıl ayarlayacağınız gösterilmektedir:
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);
Kilitleme görevi modunu başlat
Kilitleme modu, uygulamanın etkinliği tarafından başlatılabilir. Aşağıdaki snippet'te bunu nasıl yapabileceğiniz gösterilmektedir:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }