खास तौर पर बनाए गए डिवाइस

Glass को आम तौर पर, एक खास डिवाइस के तौर पर कॉन्फ़िगर किया जाता है. इसमें कुछ ऐसे ऐप्लिकेशन होते हैं जो एंटरप्राइज़ समाधान बनाते हैं. इस गाइड में, Glass को एक खास डिवाइस के तौर पर सेट अप करने का तरीका बताया गया है.

प्रावधान

Glass Enterprise Edition 2 पर कम समय में डिवाइस सेटअप करने की सुविधा उपलब्ध है. यह सुविधा, एडमिन ऐप्लिकेशन को इंस्टॉल और कॉन्फ़िगर करती है. यह ऐप्लिकेशन, क्यूआर कोड में दिए गए मेटाडेटा से डाउनलोड किया जाता है. यह ऐप्लिकेशन, DevicePolicyManager API का फ़ायदा ले सकता है. यह डिवाइस के कॉन्फ़िगरेशन को मैनेज करने का सबसे सही तरीका है.

लॉन्चर बदलना

किसी डिवाइस को खास तौर पर सेट अप करने के लिए, आपको लॉन्चर ऐप्लिकेशन को बदलना होगा. इससे यह पक्का किया जाता है कि डिवाइस के रीबूट होने के बाद, खास ऐप्लिकेशन अपने-आप लॉन्च हो जाए. यहां दिए गए कॉन्टेंट में, ऐप्लिकेशन तैयार करने और उसे लॉन्चर के तौर पर सेट करने से जुड़े टास्क के बारे में बताया गया है:

  • गतिविधि का इंटेंट फ़िल्टर
  • नया लॉन्चर सेट करना
  • गतिविधि का इंटेंट फ़िल्टर

    आपको अपने ऐप्लिकेशन के मेनिफ़ेस्ट में, मुख्य गतिविधि के लिए ये कैटगरी जोड़नी होंगी:

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