दिलचस्प पोस्ट
एक्सेल स्प्रेडशीट कॉलम SQL सर्वर डेटाबेस में आयात करें एक डोज कंसोल को एक विंडोज़ रूप में एम्बेड करना A2DP प्रोफ़ाइल के लिए एक रिसीवर के रूप में Android डिवाइस जावा के साथ प्रमाणीकृत HTTP प्रॉक्सी "यूटीएफ -8 एन्कोडिंग के लिए असमर्थनीय वर्ण" त्रुटि क्या मैं चयनकर्ताओं के लिए चर का उपयोग कर सकता हूं? PHP में एकाधिक टर्नरी ऑपरेटरों को ढेर करना सरणी बनाम वस्तु कार्यक्षमता जावास्क्रिप्ट में यह जांच कैसे करें कि कोई ऐप iPhone पर किसी वेब पेज से इंस्टॉल है या नहीं? एसक्यूएल / माय एसक्यूएल में, "चालू" और "WHERE" के बीच में अंतर क्या शामिल है? सीएसएस मीडिया प्रश्न: अधिकतम-चौड़ाई या अधिकतम-ऊंचाई क्या मैं ड्रॉपडाउन भाग में आइटम्स की तुलना में एक WPF ComboBox में चयनित आइटम के लिए एक अलग टेम्पलेट का उपयोग कर सकता हूं? जावा: संग्रह के माध्यम से पुनरावृत्त करने का सबसे अच्छा तरीका (यहाँ अर्रेइलिस्ट) जावास्क्रिप्ट फ़ाइलों को लोड किए जाने का पता लगाने के लिए कैसे? एएसपी.नेट क्या अन्य नियंत्रणों के नियंत्रण में कोई बेहतर तरीका है?

एंड्रॉइड 6.0 में डोज मोड में अलार्म मैनेजर कैसे काम करता है?

मैं Google Play पर दो अलार्म घड़ी एप्लिकेशन के डेवलपर हूं मैं उन्हें एंड्रॉइड 6.0 के साथ काम करने की कोशिश कर रहा हूं। हालांकि, डोज मोड ऐसा करता है कि वे रिंग नहीं करते। मैं उन्हें सफेद सूची में डाल दिया, मैंने एक अग्रभूमि अधिसूचना आइकन रखा, मुझे यकीन नहीं है कि मैं क्या कर सकता हूं – जब डोज मोड में, अलार्म मैनेजर अलार्म को अब भी नजरअंदाज कर दिया जाता है। क्लॉक ऐप (जो कि एओएसपी ऐप की बजाय एक Google Play है), हालांकि, यह अलग है जब क्लॉक ऐप पर अलार्म सक्षम होता है, तो "एडीबी डिवाइसडेल स्टेप" हमेशा "सक्रिय" और कभी भी "निष्क्रिय", "निष्क्रिय-भुगतान" या कुछ और नहीं पढ़ा जाएगा।

एंड्रॉइड यहां धोखा दे रहा है, अपनी खुद की ऐप अधिक शक्ति दे रहा है, उर्फ "एक सेब खींच"? क्या Google Play पर सभी अलार्म घड़ी ऐप्स गैर-कार्यात्मक बनने के लिए हैं? यहां पर चिंता की तरह, ये गुणवत्ता वाले ऐप्स होते हैं, जिनमें से प्रत्येक ने अंशकालिक विकास का एक वर्ष लिया और मेरे लिए बड़े आय स्रोत हैं। मैं यह कैसे काम करने के लिए मिल सकता है पर कोई सुराग एक बड़ी मदद होगी

अलार्म मैनेजर इरादा सेट करना:

Intent intent = new Intent(context, ReceiverAlarm.class); if (android.os.Build.VERSION.SDK_INT >= 16) { intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); } amSender = PendingIntent.getBroadcast(context, 1, intent, PendingIntent.FLAG_CANCEL_CURRENT); //FLAG_CANCEL_CURRENT seems to be required to prevent a bug where the intent doesn't fire after app reinstall in KitKat am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, scheduleToTime+1, amSender); 

और रिसीवरअलार्म वर्ग:

 public class ReceiverAlarm extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { if (wakeLock == null) { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, Theme.appTitle); wakeLock.acquire(); } X.alarmMaster.startRingingAlarm(true); } 

और X.alarmMaster.startRingingAlarm () विधि के संबंधित हिस्सों:

  if (wakeLock == null) { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, Theme.appTitle); wakeLock.acquire(); } if (screenWakeLock == null) { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); screenWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, Theme.appTitle+" scr"); screenWakeLock.acquire(); } Intent alarmIntent = new Intent(Intent.ACTION_VIEW); alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); alarmIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); alarmIntent.setClass(context, ActivityAlarmAlarm.class); context.startActivity(alarmIntent); 

आसान पठनीयता के लिए कुछ विधियों को इनलाइन पेस्ट कर दिया गया है।

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड 6.0 में डोज मोड में अलार्म मैनेजर कैसे काम करता है?"

डोज और ऐप स्टैंडबाय निश्चित रूप से अलार्म और वकेलॉक्स के संबंध में व्यवहार को बदलते हैं, लेकिन निश्चित रूप से वे आपके लिए दुनिया का अंत नहीं हैं!

क्या आपने setAlarmclock() बजाय setAlarmclock() विधि का उपयोग करने की कोशिश की है? यह विशेष रूप से अलार्म घड़ियों के लिए डिज़ाइन किया गया है और डोज़ के माध्यम से कटौती करने में सक्षम हो सकता है। कुछ एडीबी कमांड हैं जो आप मैन्युअल रूप से फोन को डोज़ या ऐप स्टैंडबाय मोड में डाल सकते हैं: https://developer.android.com/preview/features/power-mgmt.html

अगर वह आपके ऐप को setExactAndAllowWhileIdle() नहीं कर पा रहा है, तो निश्चित setExactAndAllowWhileIdle() विधि setExactAndAllowWhileIdle() डिज़ाइन किया गया है ताकि फोन को setExactAndAllowWhileIdle() से जागृत करने के लिए कोई फर्क नहीं पड़ता कि क्या। सबसे खराब स्थिति, आप इस ऐप के साथ अपना ऐप जगा सकते हैं और अगली अलार्म शेड्यूल करने के लिए वेकअप का उपयोग कर सकते हैं।

किसी अन्य पेज को पढ़ा जाने वाला मूल्य इस ब्लॉग पोस्ट को पृष्ठभूमि के काम और अलार्म के लिए अपने प्रवाह संचित्र के साथ है: https://plus.google.com/+AndroidDevelopers/posts/GdNrQciPwqo

शायद आपकी सहायता करें:

यदि हमारी एप्लिकेशन 1 9 (किटकैट) के नीचे एक एपीआई स्तर को लक्षित करती है, तो अनुसूचित अलार्म अलार्म समय पर बिल्कुल चलेंगे। किटकैट या बाद के विज्ञापनों को लक्षित करने के लिए, शेड्यूल को अयोग्य माना जाता है और वेव-अप को कम करने और बैटरी को बचाने के लिए सिस्टम फिर से ऑर्डर कर सकता है या अलार्म को समूह कर सकता है

एपीआई स्तर 23 के बाद, एंड्रॉइड डेवलपमेंट टीम ने थोड़ा और आगे बढ़ दिया और एंड्रॉइड सिस्टम पर बैटरी की खपत को कम करने के लिए डोज मोड पेश किया गया, जब डिवाइस एडाप्टर से अनप्लग हो गया, स्थिर, और लंबे समय तक उपयोगकर्ता द्वारा उपयोग न किया जाए ।

डोज सिस्टम उपकरण की जागृत आवृत्ति को पृष्ठभूमि की नौकरियों, नेटवर्क अपडेट, समन्वयित करने और हमारे अनमोल अलार्म को कम करने का प्रयास करेगी जब तक कि डिवाइस डेज मोड से बाहर निकलता न हो या फिर आवर्ती रखरखाव विंडो लंबित कार्य, कुछ अलार्म, या सिंक्रनाइज़ेशन के साथ चलती है नेटवर्क। रखरखाव खिड़की के बाद fnishes, डिवाइस फिर से दोहरे मोड में प्रवेश अगर यह बीच में इस्तेमाल नहीं किया गया था:

यहां छवि विवरण दर्ज करें

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

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

द्वंद्व मोड के दौरान भी एप्लिकेशन को नेटवर्क तक पहुंचने की अनुमति नहीं दी जाती है, वेकॉल्स को नजरअंदाज कर दिया जाता है और वाई-फाई स्कैन निष्पादित नहीं होते हैं।

अगर हमें सटीक समयबद्धन की आवश्यकता है और आप मार्शमॉलोव या बाद के समय को लक्षित कर रहे हैं, तो हम एपीआई स्तर 23 में पेश किए गए नए सेटएक्सएक्ट एंडअॉलव्यूजआईडल () विधि का उपयोग करेंगे:

 am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, time, pending); 

सूचना :

एंड्रॉइड सिस्टम में सुरक्षा होती है जो सटीक अलार्म के लिए दुरुपयोग को रोकती है जो बहुत अधिक बार आती है। अलार्म मैनेजर केवल डिवाइस को उठता है और प्रति मिनट एक अलार्म भेजता है, और कम पावर मोड में यह प्रत्येक 15 मिनट के रूप में कम हो सकता है

यदि आपका एप्लिकेशन किटकैट (एपीआई स्तर 1 9) और मार्शमॉलो (एपीआई स्तर 23) के बीच एक संस्करण को लक्षित करता है, तो सेट ईकस्टम मेथिन सटीक समय के लिए पर्याप्त है:

 am.setExact(AlarmManager.RTC_WAKEUP, time, pending); 

लेकिन हमें यह जांचने की आवश्यकता होगी कि इससे पहले कॉल करने की कोशिश करने से पहले तरीकों का अस्तित्व हो; अन्यथा, हमारे ऐप पहले की एपीआई स्तरों के तहत चलते समय क्रैश हो जाएगा। हमारे नए सटीक अलार्म कोड को स्केच करें:

 if (Build.VERSION.SDK_INT >= 23) { // Wakes up the device in Doze Mode am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, time, pending); } else if (Build.VERSION.SDK_INT >= 19) { // Wakes up the device in Idle Mode am.setExact(AlarmManager.RTC_WAKEUP, time, pending); } else { // Old APIs am.set(AlarmManager.RTC_WAKEUP, time, pending); } 

यह हमारे अलार्म को सभी प्लेटफार्मों पर बिल्कुल निर्दिष्ट समय पर वितरित करेगा।

अतुल्यकालिक एंड्रॉइड प्रोग्रामिंग

एप्लिकेशन को श्वेतसूची में डाल दें केवल नेटवर्क को डेश मोड में अनुमति देता है। अलमारी प्रबंधक को श्वेतसूची से प्रभावित नहीं होता

सेट ईएक्सएटएंडएलाव्यूजइल्ड () विधि के लिए कृपया एसडीके से नीचे दिए गए विवरण की जांच करें। यह फोन डेजे से नहीं जगाएगा

जब अलार्म भेजा जाता है, तो ऐप को लगभग 10 सेकंड के लिए सिस्टम के अस्थायी श्वेतसूची में जोड़ दिया जाएगा ताकि उस एप्लिकेशन को अपने काम को पूरा करने के लिए आगे के लॉक को प्राप्त हो सके।