पावर से जुड़ी समस्याओं की जांच करें

Android 9 (एपीआई लेवल 28) में रिलीज़ की गई पावर मैनेजमेंट की सुविधाओं का असर, इस वर्शन पर चल रहे सभी ऐप्लिकेशन पर पड़ता है. भले ही, ऐप्लिकेशन इस वर्शन को टारगेट करते हों या नहीं. यह पक्का करना ज़रूरी है कि आपका ऐप्लिकेशन इन डिवाइसों पर ठीक से काम करे.

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

Android Debug Bridge (adb) के निर्देश

पावर मैनेजमेंट की कई सुविधाओं की जांच करने के लिए, adb शेल निर्देशों का इस्तेमाल किया जा सकता है.

अपने डिवाइस को Doze मोड में डालने के लिए, adb का इस्तेमाल करने के बारे में जानने के लिए, Doze मोड और ऐप्लिकेशन के स्टैंडबाय मोड की जांच करना लेख पढ़ें.

ऐप्लिकेशन स्टैंडबाय बकेट

अपने ऐप्लिकेशन को मैन्युअल तरीके से किसी ऐप्लिकेशन स्टैंडबाय बकेट को असाइन करने के लिए, adb का इस्तेमाल किया जा सकता है. किसी ऐप्लिकेशन की बकेट बदलने के लिए, पहले इस निर्देश का इस्तेमाल करके डिवाइस को अनप्लग करने की प्रक्रिया को सिम्युलेट करें:

$ adb shell dumpsys battery unplug

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

$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare

एक साथ कई पैकेज सेट करने के लिए, पिछले निर्देश का इस्तेमाल भी किया जा सकता है:

$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...

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

$ adb shell am get-standby-bucket packagename

अगर packagename पैरामीटर नहीं दिया जाता है, तो कमांड सभी ऐप्लिकेशन के लिए बकेट की सूची दिखाता है. कोई ऐप्लिकेशन, रनटाइम के दौरान अपनी बकेट का पता लगा सकता है. इसके लिए, उसे नया तरीका UsageStatsManager.getAppStandbyBucket() इस्तेमाल करना होगा.

बैकग्राउंड में चलने की पाबंदियां

बैकग्राउंड में चलने पर पाबंदियां मैन्युअल तरीके से लागू करने के लिए, यह कमांड चलाएं:

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore

बैकग्राउंड की पाबंदियां हटाने के लिए, नीचे दिए गए निर्देश को चलाएं:

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow

बैटरी सेवर

आपका ऐप्लिकेशन, कम पावर की स्थितियों में कैसे काम करता है, यह जानने के लिए कई निर्देश हैं.

डिवाइस को अनप्लग करने का अनुकरण करने के लिए, इस कमांड का इस्तेमाल करें:

$ adb shell dumpsys battery unplug

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

$ adb shell settings put global low_power 1

जांच पूरी करने के बाद, इस कमांड का इस्तेमाल करके डिवाइस की मैन्युअल सेटिंग को पहले जैसा किया जा सकता है:

$ adb shell dumpsys battery reset