बैटरी बचाएं और ऐप स्टैंडबाय के लिए ऑप्टिमाइज़ करें

Android में बैटरी बचाने वाली दो सुविधाएं हैं. ये सुविधाएं, डिवाइस के पावर सोर्स से कनेक्ट न होने पर ऐप्लिकेशन के काम करने के तरीके को मैनेज करके, उपयोगकर्ताओं के लिए बैटरी लाइफ़ बढ़ाती हैं: बैटरी बचाएं और ऐप स्टैंडबाय. Doze, बैटरी की खपत को कम करता है. इसके लिए, यह बैकग्राउंड में सीपीयू और नेटवर्क पर की जाने वाली गतिविधि को रोक देता है. ऐसा तब होता है, जब डिवाइस का इस्तेमाल लंबे समय तक न किया जा रहा हो. ऐप स्टैंडबाय, उन ऐप्लिकेशन के लिए बैकग्राउंड नेटवर्क पर की जाने वाली गतिविधि को रोक देता है जिनमें उपयोगकर्ता गतिविधि हाल ही की कोई गतिविधि नहीं होती.

जब डिवाइस बैटरी बचाने वाले मोड में होता है, तब ऐप्लिकेशन को बैटरी खर्च करने वाले कुछ संसाधनों का ऐक्सेस नहीं मिलता. यह ऐक्सेस, मेंटेनेंस विंडो तक नहीं मिलता. पावर मैनेजमेंट से जुड़ी पाबंदियों के बारे में, पावर मैनेजमेंट से जुड़ी पाबंदियां सेक्शन में बताया गया है.

बैटरी बचाएं और ऐप स्टैंडबाय, Android 6.0 या इसके बाद के वर्शन पर चलने वाले सभी ऐप्लिकेशन के व्यवहार को मैनेज करते हैं. इससे कोई फ़र्क़ नहीं पड़ता कि वे खास तौर पर एपीआई लेवल 23 को टारगेट कर रहे हैं या नहीं. उपयोगकर्ताओं को बेहतरीन अनुभव देने के लिए, अपने ऐप्लिकेशन को बैटरी बचाएं और ऐप स्टैंडबाय मोड में टेस्ट करें. साथ ही, अपने कोड में ज़रूरी बदलाव करें. इस बारे में ज़्यादा जानकारी, यहां दिए गए सेक्शन में दी गई है.

बैटरी बचाने की सुविधा के बारे में जानकारी

अगर कोई उपयोगकर्ता डिवाइस को कुछ समय के लिए अनप्लग करके और स्क्रीन बंद करके छोड़ देता है, तो डिवाइस बैटरी बचाने वाले मोड में चला जाता है. बैटरी बचाने वाले मोड में, सिस्टम बैटरी बचाने की कोशिश करता है. इसके लिए, वह नेटवर्क और सीपीयू का ज़्यादा इस्तेमाल करने वाली सेवाओं के लिए ऐप्लिकेशन के ऐक्सेस को सीमित कर देता है. यह ऐप्लिकेशन को नेटवर्क ऐक्सेस करने से भी रोकता है. साथ ही, उनके टास्क, सिंक, और स्टैंडर्ड अलार्म को रोक देता है.

सिस्टम, समय-समय पर कुछ समय के लिए बैटरी बचाने की सुविधा को बंद कर देता है, ताकि ऐप्लिकेशन अपनी रुकी हुई गतिविधियों को पूरा कर सकें. इस मेंटेनेंस विंडो के दौरान, सिस्टम सभी बाकी सिंक, जॉब, और अलार्म चलाता है. साथ ही, ऐप्लिकेशन को नेटवर्क ऐक्सेस करने की अनुमति देता है.

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

मेंटेनेंस विंडो खत्म होने पर, सिस्टम फिर से बैटरी बचाने वाले मोड में चला जाता है. इससे नेटवर्क ऐक्सेस निलंबित हो जाता है. साथ ही, जॉब, सिंक, और अलार्म को रोक दिया जाता है. समय के साथ, सिस्टम मेंटेनेंस विंडो को कम शेड्यूल करता है. इससे, डिवाइस के चार्ज न होने पर, लंबे समय तक इस्तेमाल न होने पर बैटरी की खपत कम करने में मदद मिलती है.

जब उपयोगकर्ता डिवाइस को हिलाकर, स्क्रीन चालू करके या चार्जर कनेक्ट करके चालू करता है, तो सिस्टम बैटरी बचाने की सुविधा से बाहर निकल जाता है. इसके बाद, सभी ऐप्लिकेशन सामान्य रूप से काम करने लगते हैं.

बैटरी बचाने की सुविधा से जुड़ी पाबंदियां

बैटरी बचाने की सुविधा चालू होने पर, सिस्टम आपके ऐप्लिकेशन पर ये पाबंदियां लागू करता है:

  • नेटवर्क ऐक्सेस को निलंबित कर देता है.
  • यह वेक लॉक को अनदेखा करता है.
  • स्टैंडर्ड AlarmManager अलार्म को अगले मेंटेनेंस विंडो तक के लिए टाल देता है. setExact() और setWindow() अलार्म भी टाल दिए जाते हैं.
    • अगर आपको ऐसे अलार्म सेट करने हैं जो बैटरी बचाने की सुविधा चालू होने पर भी बजें, तो setAndAllowWhileIdle() या setExactAndAllowWhileIdle() का इस्तेमाल करें.
    • setAlarmClock() के साथ सेट किए गए अलार्म, सामान्य रूप से बजते रहेंगे. सिस्टम, अलार्म बजने से कुछ समय पहले ही, बैटरी बचाने की सुविधा से बाहर निकल जाता है.
  • वाई-फ़ाई स्कैन नहीं करता.
  • सिंक अडैप्टर को चलने नहीं देता.
  • JobScheduler को चलने नहीं देता.

Doze की चेकलिस्ट

अपने ऐप्लिकेशन को बैटरी बचाने की सुविधा के हिसाब से अडैप्ट करना

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

अलार्म शेड्यूल करने के लिए, दो AlarmManager तरीकों का इस्तेमाल किया जा सकता है: setAndAllowWhileIdle() और setExactAndAllowWhileIdle(). इन तरीकों का इस्तेमाल करके, ऐसे अलार्म सेट किए जा सकते हैं जो डिवाइस के बैटरी बचाने वाले मोड में होने पर भी बजते हैं.

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

यह पुष्टि करने के लिए कि आपका ऐप्लिकेशन, बैटरी बचाने की सुविधा के साथ उम्मीद के मुताबिक काम करता है, adb कमांड का इस्तेमाल किया जा सकता है. इससे सिस्टम को बैटरी बचाने की सुविधा में जाने और उससे बाहर निकलने के लिए मजबूर किया जा सकता है. साथ ही, अपने ऐप्लिकेशन के काम करने के तरीके पर नज़र रखी जा सकती है. ज़्यादा जानकारी के लिए, बैटरी बचाएं और ऐप स्टैंडबाय की सुविधा के साथ टेस्ट करें लेख पढ़ें.

ऐप स्टैंडबाय के बारे में जानकारी

ऐप स्टैंडबाय की सुविधा से, सिस्टम को यह पता चलता है कि कोई ऐप्लिकेशन कुछ समय से इस्तेमाल में नहीं है. ऐसा तब होता है, जब उपयोगकर्ता उस ऐप्लिकेशन का इस्तेमाल नहीं कर रहा होता. सिस्टम यह तय तब करता है, जब उपयोगकर्ता कुछ समय तक ऐप्लिकेशन को टच नहीं करता और इनमें से कोई भी शर्त लागू नहीं होती:

  • जब उपयोगकर्ता ऐप्लिकेशन को लॉन्च करता है.
  • ऐप्लिकेशन में फ़िलहाल फ़ोरग्राउंड में कोई प्रोसेस चल रही है. यह प्रोसेस, किसी गतिविधि या फ़ोरग्राउंड सेवा के तौर पर चल रही है या किसी दूसरी गतिविधि या फ़ोरग्राउंड सेवा के ज़रिए इस्तेमाल की जा रही है.
  • ऐप्लिकेशन एक सूचना जनरेट करता है, जो उपयोगकर्ताओं को लॉक स्क्रीन या सूचना ट्रे में दिखती है.

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

डिवाइस के कुछ समय से इस्तेमाल में न होने पर, अपने ऐप्लिकेशन से इंटरैक्ट करने के लिए FCM का इस्तेमाल करना

Firebase क्लाउड से मैसेज (FCM), क्लाउड से डिवाइस पर मैसेज भेजने की सेवा है. इसकी मदद से, Android डिवाइसों पर बैकएंड सेवाओं और ऐप्लिकेशन के बीच रीयल-टाइम में डाउनस्ट्रीम मैसेज भेजे जा सकते हैं. FCM, क्लाउड के लिए एक सिंगल और स्थायी कनेक्शन उपलब्ध कराता है. रीयल-टाइम मैसेजिंग की सुविधा वाले सभी ऐप्लिकेशन, इस कनेक्शन को शेयर कर सकते हैं. यह शेयर किया गया कनेक्शन, बैटरी की खपत को काफ़ी कम कर देता है. इसकी वजह यह है कि कई ऐप्लिकेशन को अपने अलग-अलग कनेक्शन बनाए रखने की ज़रूरत नहीं पड़ती. इससे बैटरी तेज़ी से खत्म हो सकती है. इसलिए, अगर आपके ऐप्लिकेशन को बैकएंड सेवा के साथ मैसेज सेवा को इंटिग्रेट करने की ज़रूरत है, तो हमारा सुझाव है कि आप अपना स्थायी इंटरनेट कनेक्शन बनाए रखने के बजाय, FCM का इस्तेमाल करें.

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

ऐसे मैसेज के लिए जिनका नतीजा सूचनाओं के तौर पर नहीं मिलता, जैसे कि बैकग्राउंड में ऐप्लिकेशन के कॉन्टेंट को अप-टू-डेट रखना या डेटा सिंक करना, BackgroundSync एफ़सीएम मैसेज का इस्तेमाल करें. ये मैसेज जान-बूझकर कम प्राथमिकता वाले होते हैं. साथ ही, डिवाइस की बैटरी को ऑप्टिमाइज़ करने के लिए, इन्हें भेजने में देरी हो सकती है या इन्हें रोका जा सकता है.

आम तौर पर, अगर आपके ऐप्लिकेशन को डाउनस्ट्रीम मैसेजिंग की ज़रूरत है, तो एफ़सीएम का इस्तेमाल करें. अगर आपका ऐप्लिकेशन पहले से ही FCM का इस्तेमाल करता है, तो पक्का करें कि वह उन मैसेज के लिए RemoteNotification का इस्तेमाल करता हो जिनसे उपयोगकर्ताओं को सूचनाएं मिलती हैं.

इन स्थितियों में RemoteNotification का इस्तेमाल न करें:

  • जब सूचना नहीं दिखाई जाएगी.
  • सिर्फ़ ऐप्लिकेशन की स्थिति को अपडेट करने वाले मैसेज तुरंत डिलीवर करने के लिए. जैसे, बैकग्राउंड में ऐप्लिकेशन के कॉन्टेंट को अप-टू-डेट रखना या डेटा सिंक करना.
  • असली उपयोगकर्ता से अनुमतियां देने का अनुरोध करने के लिए.

इस्तेमाल के अन्य उदाहरणों के लिए सहायता

ज़्यादातर ऐप्लिकेशन, बैटरी बचाने की सुविधा के साथ काम करते हैं. इसके लिए, वे नेटवर्क कनेक्टिविटी, अलार्म, जॉब, और सिंक को मैनेज करते हैं. साथ ही, एफ़सीएम मैसेज का इस्तेमाल करते हैं. हालांकि, कुछ मामलों में यह जानकारी काफ़ी नहीं होती. ऐसे मामलों में, सिस्टम ऐसे ऐप्लिकेशन की सूची उपलब्ध कराता है जिन्हें कॉन्फ़िगर किया जा सकता है. इन ऐप्लिकेशन पर, बैटरी बचाने और ऐप स्टैंडबाय ऑप्टिमाइज़ेशन की सुविधाएं कुछ हद तक लागू नहीं होती हैं.

जिस ऐप्लिकेशन को कुछ हद तक छूट मिली है वह बैटरी बचाएं और ऐप स्टैंडबाय के दौरान, नेटवर्क का इस्तेमाल कर सकता है. साथ ही, कुछ हद तक वेक लॉक को होल्ड कर सकता है. हालांकि, इस ऐप्लिकेशन पर अन्य पाबंदियां अब भी लागू होती हैं, ठीक वैसे ही जैसे अन्य ऐप्लिकेशन पर होती हैं. उदाहरण के लिए, एपीआई लेवल 23 और इससे पहले के वर्शन पर, ऐप्लिकेशन के जॉब और सिंक करने की प्रोसेस को रोक दिया जाता है. साथ ही, इसके सामान्य AlarmManager अलार्म नहीं बजते. कोई ऐप्लिकेशन, isIgnoringBatteryOptimizations() को कॉल करके यह पता लगा सकता है कि वह फ़िलहाल छूट वाली सूची में है या नहीं.

उपयोगकर्ता, सेटिंग > बैटरी > बैटरी ऑप्टिमाइज़ेशन में जाकर, छूट वाले ऐप्लिकेशन की सूची को मैन्युअल तरीके से कॉन्फ़िगर कर सकते हैं. इसके अलावा, सिस्टम ऐसे तरीके उपलब्ध कराता है जिनकी मदद से ऐप्लिकेशन, उपयोगकर्ताओं से उन्हें छूट देने के लिए कह सकते हैं:

  • ज़्यादातर ऐप्लिकेशन, ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS वाले इंटेंट को शुरू कर सकते हैं.
  • उचित इस्तेमाल को पूरा करने वाले ऐप्लिकेशन, इसके बजाय एक ऐसा इंटेंट शुरू कर सकते हैं जिसमें ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS इंटेंट कार्रवाई शामिल हो. इससे उपयोगकर्ता, सिस्टम सेटिंग में जाए बिना ही ऐप्लिकेशन को सीधे तौर पर छूट वाली सूची में जोड़ सकता है.

कोई ऐप्लिकेशन, isIgnoringBatteryOptimizations() को कॉल करके यह पता लगा सकता है कि वह फ़िलहाल छूट वाली सूची में है या नहीं.

बैटरी बचाएं और ऐप स्टैंडबाय की सुविधा के साथ टेस्ट करना

अपने उपयोगकर्ताओं को बेहतरीन अनुभव देने के लिए, बैटरी बचाएं और ऐप स्टैंडबाय मोड में अपने ऐप्लिकेशन की पूरी तरह से जांच करें.

'बैटरी बचाएं' सुविधा की मदद से अपने ऐप्लिकेशन की जांच करना

बैटरी बचाने वाले मोड को टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. Android 6.0 (एपीआई लेवल 23) या इसके बाद के वर्शन की सिस्टम इमेज वाले हार्डवेयर डिवाइस या वर्चुअल डिवाइस को कॉन्फ़िगर करें.
  2. डिवाइस को अपनी डेवलपमेंट मशीन से कनेक्ट करें और अपना ऐप्लिकेशन इंस्टॉल करें.
  3. अपना ऐप्लिकेशन चलाएं और उसे चालू रहने दें.
  4. यहां दिया गया कमांड चलाकर, सिस्टम को आइडल मोड में जाने के लिए मजबूर करें:
        $ adb shell dumpsys deviceidle force-idle
        
  5. जब आप तैयार हों, तो यह कमांड चलाकर आइडल मोड से बाहर निकलें:
        $ adb shell dumpsys deviceidle unforce
        
  6. डिवाइस को फिर से चालू करने के लिए, यह कमांड इस्तेमाल करें:
        $ adb shell dumpsys battery reset
        
  7. डिवाइस को फिर से चालू करने के बाद, देखें कि आपका ऐप्लिकेशन कैसे काम कर रहा है. पक्का करें कि डिवाइस के बैटरी बचाएं मोड से बाहर निकलने पर, ऐप्लिकेशन सही तरीके से काम करे.

ऐप्लिकेशन स्टैंडबाय की मदद से अपने ऐप्लिकेशन की जांच करना

अपने ऐप्लिकेशन के साथ ऐप स्टैंडबाय मोड को टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. Android 6.0 (एपीआई लेवल 23) या इसके बाद के वर्शन वाली सिस्टम इमेज के साथ, हार्डवेयर डिवाइस या वर्चुअल डिवाइस को कॉन्फ़िगर करें.
  2. डिवाइस को अपनी डेवलपमेंट मशीन से कनेक्ट करें और अपना ऐप्लिकेशन इंस्टॉल करें.
  3. अपना ऐप्लिकेशन चलाएं और उसे चालू रहने दें.
  4. यहां दिए गए कमांड चलाकर, ऐप्लिकेशन को ऐप स्टैंडबाय मोड में जाने के लिए मजबूर करें:
        $ adb shell dumpsys battery unplug
        $ adb shell am set-inactive <packageName> true
        
  5. इन कमांड का इस्तेमाल करके, अपने ऐप्लिकेशन को चालू करने की प्रोसेस को सिम्युलेट करें:
        $ adb shell am set-inactive <packageName> false
        $ adb shell am get-inactive <packageName>
        
  6. ऐप्लिकेशन को चालू करने के बाद, उसके व्यवहार पर नज़र रखें. पक्का करें कि ऐप्लिकेशन, स्टैंडबाय मोड से आसानी से वापस आ जाए. खास तौर पर, यह देखें कि आपके ऐप्लिकेशन की सूचनाएं और बैकग्राउंड में होने वाले काम, उम्मीद के मुताबिक काम कर रहे हैं या नहीं.

छूट के लिए उचित इस्तेमाल के उदाहरण

यहां दी गई टेबल में, इस्तेमाल के कई उदाहरण दिए गए हैं. साथ ही, यह बताया गया है कि इन स्थितियों में ऐप्लिकेशन के लिए, ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS इंटेंट ऐक्शन का इस्तेमाल करना सही है या नहीं. आम तौर पर, आपका ऐप्लिकेशन इन अपवादों को पूरा नहीं करता है. हालांकि, ऐसा तब नहीं होता, जब बैटरी बचाने की सुविधा या ऐप स्टैंडबाय, ऐप्लिकेशन के मुख्य फ़ंक्शन को बंद कर देता है या कोई तकनीकी वजह होती है, जिसकी वजह से आपका ऐप्लिकेशन FCM RemoteNotification मैसेज का इस्तेमाल नहीं कर सकता.

ज़्यादा जानकारी के लिए, अन्य मामलों में इस्तेमाल करने के लिए सहायता लेख पढ़ें.

प्रकार इस्तेमाल का उदाहरण क्या एफ़सीएम का इस्तेमाल किया जा सकता है? क्या छूट स्वीकार की जा सकती है? नोट
फटाफट मैसेज सेवा, चैट या कॉलिंग ऐप्लिकेशन. जब डिवाइस बैटरी बचाएं मोड में हो या ऐप स्टैंडबाय मोड में हो, तब उपयोगकर्ताओं को रीयल-टाइम में मैसेज डिलीवर करने की ज़रूरत होती है. हां, एफ़सीएम का इस्तेमाल किया जा रहा है स्वीकार नहीं किया जा सकता ऐप्लिकेशन को चालू करने और नेटवर्क को ऐक्सेस करने के लिए, FCM RemoteNotification मैसेज का इस्तेमाल करें.
हां, लेकिन FCM RemoteNotification मैसेज का इस्तेमाल नहीं किया जा रहा है.
फटाफट मैसेज सेवा, चैट या कॉलिंग ऐप्लिकेशन; एंटरप्राइज़ वीओआईपी ऐप्लिकेशन. नहीं, किसी दूसरी मैसेज सेवा पर तकनीकी डिपेंडेंसी की वजह से, FCM का इस्तेमाल नहीं किया जा सकता या बैटरी बचाएं और ऐप स्टैंडबाय की वजह से, ऐप्लिकेशन का मुख्य फ़ंक्शन काम नहीं करता. सही है
Safety ऐप्लिकेशन. ऐसे ऐप्लिकेशन जो उपयोगकर्ताओं और उनके परिवार को सुरक्षित रखते हैं. अगर लागू हो. सही है
टास्क ऑटोमेशन ऐप्लिकेशन. ऐप्लिकेशन का मुख्य फ़ंक्शन, ऑटोमेटेड ऐक्शन शेड्यूल करना है. जैसे, फटाफट मैसेज सेवा, वॉइस कॉल या नई फ़ोटो मैनेज करना. अगर लागू हो. सही है
सहायक डिवाइस का कंपैनियन ऐप्लिकेशन. ऐप्लिकेशन का मुख्य फ़ंक्शन, सहायक डिवाइस के साथ लगातार कनेक्शन बनाए रखना है, ताकि सहायक डिवाइस को इंटरनेट का ऐक्सेस दिया जा सके. अगर लागू हो. सही है
ऐप्लिकेशन को सिंक करने के लिए, समय-समय पर किसी सहायक डिवाइस से कनेक्ट करना ज़रूरी है. इसके अलावा, उसे सिर्फ़ उन डिवाइसों से कनेक्ट करना ज़रूरी है जो स्टैंडर्ड ब्लूटूथ प्रोफ़ाइल की मदद से कनेक्ट किए गए हैं. जैसे, वायरलेस हेडफ़ोन. अगर लागू हो. स्वीकार नहीं किया जा सकता