בדרך כלל, משקפי Glass מוגדרים לשימוש כמכשיר ייעודי עם מספר קטן של אפליקציות שמרכיבות פתרון לארגונים. במדריך הבא מוסבר איך להגדיר את Glass כמכשיר ייעודי.
ניהול הקצאות (Provisioning)
הקצאת הרשאות עם מגע מינימלי ב-Glass Enterprise Edition 2 מתקינה ומגדירה אפליקציית אדמין שמורידים מהמטא-נתונים שמסופקים בקוד QR. האפליקציה הזו יכולה להשתמש ב-API DevicePolicyManager, שהיא השיטה המועדפת לניהול ההגדרות של המכשיר.
החלפת מרכז האפליקציות
כדי להגדיר מכשיר ייעודי, צריך להחליף את אפליקציית מרכז האפליקציות. כך מוודאים שהאפליקציה הייעודית תופעל אוטומטית אחרי שהמכשיר יופעל מחדש. בתוכן הבא מפורטות המשימות שצריך לבצע כדי להכין אפליקציה ולהגדיר אותה כמשגר:
- מסנן Intent של פעילות
- הגדרת מרכז אפליקציות חדש
מסנן Intent של פעילות
צריך להוסיף את הקטגוריות הבאות לפעילות הראשית במניפסט של האפליקציה:
<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>
הגדרת אפליקציית הפעלה חדשה
כדי להגדיר מרכז אפליקציות חדש, קוראים לפונקציה addPersistentPreferredActivity() מאפליקציית האדמין. האפשרות הזו פועלת רק אם המכשיר כבר הוקצה. במכשירים שלא הוקצו להם הרשאות, בוחרים משגר חדש מממשק המשתמש במכשיר.
הוספת פעילות מועדפת קבועה
בשיטה הזו אפשר להגדיר componentName
מסוים כמרכז האפליקציות של המכשיר, בלי אינטראקציה עם המכשיר.
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);
שימוש בממשק המשתמש במכשיר
משתמשים באחת מהשיטות הבאות כדי להציג במסך את תיבת הדו-שיח לבחירת מרכז האפליקציות:
שימוש בתנועת החלקה כלפי מעלה בהגדרות
מחליקים אחורה במסך הבית כדי להציג את מסך סיכום ההגדרות. לאחר מכן, מקישים כדי להיכנס למסך ההגדרות. מחליקים למעלה כדי להציג את תיבת הדו-שיח.
שימוש בכוונת רכישה באפליקציה
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
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
מחליקים קדימה ואחורה בלוח המגע כדי לבחור את האפליקציה הרצויה ומקישים כדי לאשר. משתמשים באותה שיטה כדי לבחור בלחצן 'תמיד'.
מצב משימות נעולות
מצב נעילת משימות מאפשר ליצור רשימה של חבילות שמותר להפעיל במכשיר.
.הגדרת חבילות מותרות
בקטע הקוד הבא מוצג אופן ההגדרה של רשימת החבילות:
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);
הפעלת מצב משימות נעולות
אפשר להפעיל את מצב נעילת המשימה באמצעות הפעילות של האפליקציה. בדוגמה הבאה אפשר לראות איך עושים את זה:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }