2011-04-11 10 views
5

मैं एक एंड्रॉइड क्लाइंट ऐप लिख रहा हूं जो HTTP लंबी-मतदान (धूमकेतु) का उपयोग कर सर्वर से पुश नोटिफिकेशन प्राप्त करता रहता है।नींद वाले एंड्रॉइड डिवाइस को कौन सी घटनाएं जगा सकती हैं?

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

और मैं इस सवाल का पाया:

Android: Sleep stages/levels on an Android device?

जहां "CommonsWare" उल्लेख किया है कि एक गैर वाईफ़ाई सॉकेट पर एक इनकमिंग पैकेट उपकरण को सक्रिय होगा।

तो मेरी समाधान इस तरह दिखता है:

Client ------------------------- Server 
       ---- Request-----> 
    release WakeLock     (Allow device to sleep) 





       <----Notification-- (Hopes it can wake up the device) 
    require WakeLock 
    process the notification 
       ---- Request-----> 
    release WakeLock   
    .... 

लेकिन वहाँ सूचना को प्राप्त करने और wakelock की आवश्यकता होती है जो कम समय खिड़की है, इसलिए मेरे सवाल है, कब तक डिवाइस इस जाग राज्य रखेंगे? क्या इस समय खिड़की के दौरान डिवाइस को सोने के लिए वापस जाना संभव है?

उत्तर

0

डिवाइस BroadcastReceiver में कुछ संक्षिप्त कोड निष्पादित करने के लिए पर्याप्त समय तक जागृत होगा। मुझे मिलिस की सटीक संख्या नहीं मिल पाई है, लेकिन विचार यह है कि आपके रिसीवर में, आपको WakeLock को पकड़ना चाहिए, आपको अपनी प्रसंस्करण के साथ आगे बढ़ने की जरूरत है।

हालांकि WakeLock का सटीक प्रबंधन मुश्किल हो सकता है। मैं @ CommonsWare के WakefulIntentService का उपयोग करना चाहिये:

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