Glass genellikle bir kurumsal çözüm oluşturan az sayıda uygulama ile özel bir cihaz olarak kullanılacak şekilde yapılandırılır. Aşağıdaki kılavuzda, Glass'ı özel cihaz olarak ayarlama adımları gösterilmektedir.
Temel hazırlık yapılıyor
Glass Enterprise Edition 2'de kolay dokunma ile hazırlama, QR kodunda sağlanan meta verilerden indirilen bir yönetici uygulamasını yükler ve yapılandırır. Bu uygulama, cihazın yapılandırmasını yönetmek için tercih edilen yöntem olan DevicePolicyManager API'sinden yararlanabilir.
Başlatıcıyı değiştirme
Özel bir cihaz ayarlamak için başlatıcı uygulamasını değiştirmeniz gerekir. Bu sayede, cihaz yeniden başlatıldıktan sonra özel uygulamanın otomatik olarak başlatılması sağlanır. Aşağıdaki içerikte, bir uygulamayı hazırlama ve başlatıcı olarak ayarlama ile ilgili görevler özetlenmektedir:
- Etkinlik intent filtresi
- Yeni bir başlatıcı ayarlama
Etkinlik amacı filtresi
Uygulamanızın manifest dosyasındaki ana etkinliğe aşağıdaki kategorileri 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ı ayarlama
Yeni bir başlatıcı ayarlamak için yönetici uygulamasından addPersistentPreferredActivity() işlevini çağırın. Bu özellik yalnızca cihazın temel hazırlığı yapılmışsa çalışır. Hazır hale getirilmemiş cihazlarda, cihazdaki kullanıcı arayüzünden yeni bir başlatıcı seçin.
Kalıcı tercih edilen aktivite ekleme
Bu yöntem, cihazla etkileşime girmeden belirli bir componentName
öğesini cihazı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);
Cihazda kullanıcı arayüzünü kullanma
Ekranda başlatıcı seçimi iletişim kutusunu göstermek için aşağıdaki yöntemlerden birini kullanın:
Ayarlarda yukarı kaydırma dokunma hareketini kullanma
Ayarlar özeti ekranını göstermek için ana ekranda geriye doğru 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 yüzeyde ileri ve geri kaydırın, onaylamak için dokunun. "Her zaman" düğmesini seçmek için aynı yöntemi kullanın.
Görev modunu kilitleme
Kilitli görev modu, cihazda çalışmasına izin verilen paketlerin listesini oluşturmanıza olanak tanır.
İzin verilen paketleri ayarlama
Aşağıdaki snippet'te paket listesinin nasıl ayarlanacağı 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);
Görev kilitleme modunu başlatma
Kilit görevi 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(); }