2010-07-18 11 views
6

क्या एंड्रॉइड ACTION_TIME_TICK प्रसारित करने के लिए गहरी नींद से जागता है? प्रयोग करने से, मुझे नहीं लगता कि यह करता है, लेकिन मैं एक निश्चित उत्तर की तलाश में हूं।क्या TIME_TICK गहरी नींद में प्रसारित होगा?

मेरे प्रयोग प्राप्त पर एक TextView अद्यतन करने के लिए एक सरल BroadcastReceiver पंजीकरण के शामिल:

registerReceiver(new BroadcastReceiver() { 
    int ctr = 0; 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     testView.setText("Time ticks: " + ++ctr); 
    } 
}, new IntentFilter(Intent.ACTION_TIME_TICK)); 

4 टिक में, मैं के बारे में 5 मिनट के लिए स्क्रीन के बंद हो, तो उसे फिर से बदल गया है, और यह 6 टिक पढ़ । 13 टिकों पर, मैंने स्क्रीन को 10 मिनट के लिए बदल दिया, फिर इसे चालू कर दिया, और टिकों की संख्या 14 पढ़ी गई। यह केवल 1-2 टिकों से बढ़ता प्रतीत होता है इससे कोई फर्क नहीं पड़ता कि मैं फोन को कितनी देर तक छोड़ देता हूं, यही कारण है कि मैं संदेह है कि यह गहरी नींद के दौरान कार्रवाई को प्रसारित नहीं करता है।

+0

मुझे लगता है कि मुझे संदेह है कि मुझे एक ही समस्या है। क्या आपको कोई समाधान/कामकाज मिला है? – mschonaker

उत्तर

9

मैंने एंड्रॉइड कोड में देखा। यह प्रसारण फोन को जगाएगा नहीं। यह समय परिवर्तन प्रसारित करने के लिए AlarmManager.RTC प्रकार Alarm का उपयोग करता है।

आपको हर मिनट सचमुच अधिसूचित होने की आवश्यकता क्यों है?

AlarmManager.RTC_WAKEUP प्रकार का उपयोग करके अपना खुद का अलार्म सेट करने के बारे में कैसे?

चेतावनी: हर मिनट ऐसा करने से आपकी बैटरी निकल जाएगी। मैं हर घंटे की तरह, इसे कम बार करने का सुझाव देते हैं।

कृपया यह बताएं कि यह सहायक है या नहीं।

इमानुअल

+0

मुझे बिल्कुल याद नहीं है कि मैं इसका उपयोग कैसे कर रहा था (मैंने थोड़ी देर पहले काम छोड़ दिया), लेकिन इस परियोजना में सिस्टम द्वारा प्रदान की गई चीज़ों की तुलना में अधिक विस्तृत अपटाइम ट्रैकिंग करने में शामिल था। दरअसल मुझे लगता है कि फोन सोते समय नोटिफिकेशन नहीं करना पसंद करता था, लेकिन सिर्फ इसकी पुष्टि करना चाहता था (क्योंकि एपीआई दस्तावेज उस बिंदु पर अस्पष्ट है)। –

+0

अलार्म प्रबंधक का उपयोग सही ढंग से काम करता है। धन्यवाद। मैं बस इस व्यवहार का कारण जानना चाहता था। आपने ढूंढ लिया। – mschonaker

3

एक बेहतर प्रयोग: एक TextView को अद्यतन करने के बजाय जो आप फोन बंद है जब नहीं देख सकते हैं, के साथ प्रवेश करें पर लिखें:

Log.v("Tick","Total ticks: " + ++ctr); 

आप Logcat में इस पर नज़र रख सकते हैं अपने फोन को सो है, जबकि ।

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