मैं वर्तमान में एक फीचर जहाँ उपयोगकर्ताओं को आवेदन के लिए बैटरी ऑप्टिमाइज़ेशन को अनदेखा करने के लिए अनुरोध कर रहे हैं को लागू कर रहा हूँ के लिए झूठी देता है। ऐसा करने का कारण यह है कि एप्लिकेशन की मुख्य कार्यक्षमता दुर्भाग्यवश पावर सेविंग मोड से प्रभावित होती है।isPowerSaveMode() हमेशा Huawei उपकरणों
मेरा लक्ष्य प्राप्त करने के लिए, मैं उपयोगकर्ताओं को Intent
बनाकर Action
ACTION_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
एसडीके में मौजूद है।
एक वर्कअराउंड है, जिसका वर्णन किया गया है [यहां] (https://stackoverflow.com/questions/15133392/find-out-if-power-saving-mode-enabled-android-sdk) – Ch4t4r
@ Ch4t4r धन्यवाद लिंक के लिए। हालांकि यह मुझे लगता है कि समस्या का समाधान नहीं करता है। – Demitrian
क्या आप वाकई फोन पर स्थापित एंड्रॉइड संस्करण से संबंधित नहीं हैं? यदि हां, तो क्या आप कोड के इस टुकड़े को आजमा सकते हैं? PowerManager powerManager = (PowerManager) getActivity() getSystemService (Context.POWER_SERVICE)। अगर (android.os.Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP && powerManager.isPowerSaveMode()) { } – hugoterelle