2017-08-17 8 views
9

मैं वर्तमान में एक फीचर जहाँ उपयोगकर्ताओं को आवेदन के लिए बैटरी ऑप्टिमाइज़ेशन को अनदेखा करने के लिए अनुरोध कर रहे हैं को लागू कर रहा हूँ के लिए झूठी देता है। ऐसा करने का कारण यह है कि एप्लिकेशन की मुख्य कार्यक्षमता दुर्भाग्यवश पावर सेविंग मोड से प्रभावित होती है।isPowerSaveMode() हमेशा Huawei उपकरणों

मेरा लक्ष्य प्राप्त करने के लिए, मैं उपयोगकर्ताओं को Intent बनाकर ActionACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS पर सेट करके संकेत देता हूं।

हालांकि, Intent फायरिंग से पहले, मैं दोनों isPowerSaveMode() और isIgnoringBatteryOptimizations() के लिए सुनिश्चित करना है कि मैं उन जब मोड बचाने शक्ति सक्षम नहीं है संकेत नहीं देते हैं की जांच; जो सुविधा के लिए एक आवश्यकता है।

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
boolean isPowerSaveMode = pm.isPowerSaveMode(); // always returns false for Huawei devices 

यह सबसे उपकरणों के लिए ठीक काम करता है, लेकिन Huawei उपकरणों के लिए, isPowerSaveMode() हमेशा false रिटर्न: जिस तरह से मैं ऐसा कर रहा है। नतीजतन, चूंकि पूर्व शर्त विफल हो जाती है, संकेत कभी नहीं दिखाया जाता है।

किसी और संभवतः इस मुद्दे का सामना करना पड़ा है? यदि हां, तो आप इसे हल करने के लिए क्या किया?

एक नोट के रूप में, एक ही मुद्दा भी Xamarin.Android एसडीके में मौजूद है।

+0

एक वर्कअराउंड है, जिसका वर्णन किया गया है [यहां] (https://stackoverflow.com/questions/15133392/find-out-if-power-saving-mode-enabled-android-sdk) – Ch4t4r

+0

@ Ch4t4r धन्यवाद लिंक के लिए। हालांकि यह मुझे लगता है कि समस्या का समाधान नहीं करता है। – Demitrian

+0

क्या आप वाकई फोन पर स्थापित एंड्रॉइड संस्करण से संबंधित नहीं हैं? यदि हां, तो क्या आप कोड के इस टुकड़े को आजमा सकते हैं? PowerManager powerManager = (PowerManager) getActivity() getSystemService (Context.POWER_SERVICE)। अगर (android.os.Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP && powerManager.isPowerSaveMode()) { } – hugoterelle

उत्तर

1

प्रत्येक oem उनकी आवश्यकताओं के अनुरूप एसडीके संशोधित करता है। Huawei उपकरणों डिफ़ॉल्ट पावर सेवर समारोह का उपयोग नहीं करते, बल्कि वे कुछ "संरक्षित क्षुधा" कहा जाता है का उपयोग करें। संरक्षित ऐप्स ऐप्स के सेट होते हैं जिन्हें स्क्रीन बंद होने पर भी चलाने की अनुमति होती है। इसलिए यही कारण है कि यह हमेशा झूठी वापसी करता है। सुरक्षित ऐप्स स्क्रीन पर एक इरादा फेंकना बेहतर है, लेकिन यह जानने का कोई तरीका नहीं है कि आपका ऐप संरक्षित ऐप्स सूची में जोड़ा गया है या नहीं। What is protected apps ?

0

मुझे एक ही समस्या का सामना करना पड़ा है जबकि कार्यान्वयन हैंडहेल्ड और पहनने योग्य डिवाइस। मुझे मिला एकमात्र समाधान सभी ऐप्स के लिए बैटरी सेवर मोड को अक्षम करना है। मैं सभी ऐप्स के लिए इस तरह के मोड को अक्षम करने के बाद आपके तरीकों के परिणाम का पता लगाने का सुझाव दूंगा। यह बग केवल हुवेई पर दिखाई देता है। भयानक विक्रेता।

संबंधित मुद्दे