दिलचस्प पोस्ट
यह सुनिश्चित करने के लिए त्वरित और गंदी तरीका है कि एक खोल स्क्रिप्ट का केवल एक उदाहरण एक समय में चल रहा है वेक्टर, स्ट्रैक्ट्स और एसटीडी :: ढूंढें पूंछ कॉल पुनरावृत्ति के लिए क्यों नहीं नेट / सी # ऑप्टिमाइज़ करता है? मैं Node.js Mongoose का उपयोग कर दस्तावेज़ कैसे निकाल सकता हूं? एमएस एक्सेस में अपसेट करना उद्देश्य-सी में एक NSString के लिए एक unichar मान कैसे परिवर्तित करें? CSS को संकलित करते समय SCSS चर को अधिलेखित करना एक संकेतक "dereferencing" क्या मतलब है? JQuery में कस्टम इवेंट? Chrome स्वतः पूर्ण होने के लिए इनपुट पृष्ठभूमि का रंग निकाल रहा है? जावा बिटमैप को बाइट सरणी में कनवर्ट करना फ़ंक्शन को प्रतिस्थापित नहीं करना कोर डेटा के साथ Enums को कार्यान्वित करने का सर्वोत्तम तरीका Onclick घटना में एकाधिक जावास्क्रिप्ट कार्यों को कॉल करने के लिए कैसे? PHP में हेडॉक का उपयोग करने का क्या फायदा है?

एंड्रॉइड डिवाइस को जागृत करें

हे मुझे एक निश्चित समय पर मेरी नींद एंड्रॉइड डिवाइस जागने की आवश्यकता है I कोई सुझाव?

पुनश्च जाग उठें: चालू करें और फ़ोन को अनलॉक करें

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड डिवाइस को जागृत करें"

सर्वश्रेष्ठ इन विंडो झंडे के कुछ उपयुक्त संयोजन का उपयोग करना है:

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_DISMISS_KEYGUARD
http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED
http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_KEEP_SCREEN_ON
http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_TURN_SCREEN_ON

यदि आप इच्छित फ़ंक्शंस का समर्थन नहीं करते प्लेटफ़ॉर्म के पुराने संस्करणों पर चलाना चाहते हैं, तो आप सीधे वेक लॉक और कीगार्ड लॉक का उपयोग कर सकते हैं … लेकिन उस पथ पर संकट से भरा है।

एक महत्वपूर्ण नोट : ऊपर की ध्वज संयोजन के लिए काम करने के लिए आपकी गतिविधि पूर्ण स्क्रीन होना चाहिए मेरे ऐप में मैंने इन झंडे का उपयोग किसी गतिविधि के साथ करने की कोशिश की जो कि पूर्ण स्क्रीन (डायलॉग थीम) नहीं है और यह काम नहीं करता। दस्तावेज़ीकरण को देखने के बाद मैंने पाया कि इन ध्वजों को खिड़की की एक पूर्ण स्क्रीन विंडो होने की आवश्यकता है।

स्क्रीन जागने के लिए:

PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE); WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG"); wakeLock.acquire(); 

स्क्रीन लॉक जारी करने के लिए:

 KeyguardManager keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG"); keyguardLock.disableKeyguard(); 

और प्रकट होने की आवश्यकता है:

 <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 

PowerManager के बारे में अधिक जानकारी के लिए, एपीआई दस्तावेज़ीकरण देखें: http://developer.android.com/reference/android/os/PowerManager.html

संपादित करें: इस उत्तर को बहिष्कृत के रूप में रिपोर्ट किया गया है

मुझे एक रास्ता मिल गया है और यह जटिल नहीं है … किसी भी एपीआई संस्करण पर काम करता है

आपको PowerManager.userActivity(l, false) विधि का उपयोग करने की आवश्यकता है और SCREEN_OFF इरादे के लिए प्राप्त प्रसारण के रूप में अपनी गतिविधि को पंजीकृत करें:

अपनी कृतिशीलता में ओनक्रेट की तरह कुछ डाल:

 mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.v(TAG, "Screen OFF onReceive()"); screenOFFHandler.sendEmptyMessageDelayed(0, 2000L); } }; 

यह स्क्रीन ऑफ इवेंट के 2 सेकंड के बाद हेन्डलर को बंद करेगा।

अपने ऑनरस्यूम () विधि में रजिस्टर रिसीवर:

 IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); registerReceiver(mReceiver, filter); Log.i(TAG, "broadcast receiver registered!"); 

निम्न के समान एक हैंडलर बनाएं:

 private Handler screenOFFHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); // do something // wake up phone Log.i(TAG, "ake up the phone and disable keyguard"); PowerManager powerManager = (PowerManager) YourActivityName.this .getSystemService(Context.POWER_SERVICE); long l = SystemClock.uptimeMillis(); powerManager.userActivity(l, false);//false will bring the screen back as bright as it was, true - will dim it } }; 

आपकी मेनिफेस्ट फ़ाइल में अनुमति का अनुरोध करें:

 <uses-permission android:name="android.permission.WAKE_LOCK" /> 

जब आपका कार्य पूरा हो जाए तो प्रसारण रिसीवर को अनर्जित करना न भूलें आप उस पर onDestroy () कर सकते हैं उदाहरण के लिए (जो गारंटी नहीं है)

 unregisterReceiver(mReceiver); Log.i(TAG, "broadcast UNregistred!"); 

यदि आप जागने के दौरान खिड़की दिखा रहे हैं, तो आप एक जागृत लॉक के उपयोग के बिना अपनी गतिविधि में कुछ झंडे जोड़कर आसानी से काम कर सकते हैं।

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_activity); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); } 

एक अलार्म को व्यवस्थित करने से फोन उठाना होगा (ध्वनि बजाएं) और मुझे लगता है कि डिस्प्ले का मोड़ एक विकल्प होगा।

मुझे नहीं लगता है कि एक खुला एपीआई होगा जो फोन को स्वचालित रूप से अनलॉक करेगा।

 getWindow().addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD); 

सामान्य किगार्ड को खारिज कर देगा और डिवाइस को अनलॉक करने का कारण होगा।