में चलने की जरूरत है मेरे ऐप में, मुख्य गतिविधि की ऑनक्रेट() विधि में मैं एक जाग लॉक बना रहा हूं ताकि अगर फोन चालू हो तो CPU चालू रहेगा स्टैंडब/स्क्रीन बंद हो जाता है।एंड्रॉइड - वेक लॉक ठीक से अधिग्रहण नहीं कर रहा है, ऐप को स्टैंडबाय
इसके अलावा ऑनक्रेट विधि में मेरे पास एक्सेलेरोमीटर का उपयोग करने वाली सेवा बनाने का इरादा है। ऐप खुला होने और एक्सेलेरोमीटर मानों की निगरानी करते समय इस सेवा को लगातार चलने की जरूरत है (मुझे पता है कि यह बैटरी के लिए अच्छा नहीं है लेकिन मुझे इसे करने की आवश्यकता है)। इस समय मेरा कोड यहां है और सेवा ठीक शुरू होती है। भी कोई लाभ नहीं हुआ मंद स्क्रीन और पूर्ण चमक -
<uses-permission android:name="android.permission.WAKE_LOCK" />
मैं अलग ताले के साथ इस की कोशिश की है -
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Howaya");
wl.acquire();
if (appStart == true)
{
Intent AccelService = new Intent(this, Accelerometer.class);
AccelService.putExtra("unreg", false);
startService(AccelService);
}
appStart = false;
}
मैं निम्नलिखित अनुमति मेरी प्रकट में सेट है। logcat पर मेरे उत्पादन यहां है -
F/PowerManager(15628): android.util.Log$TerribleFailure: WakeLock finalized while still held: Howaya
F/PowerManager(15628): at android.util.Log.wtf(Log.java:260)
F/PowerManager(15628): at android.util.Log.wtf(Log.java:239)
F/PowerManager(15628): at android.os.PowerManager$WakeLock.finalize(PowerManager.java:329)
F/PowerManager(15628): at dalvik.system.NativeStart.run(Native Method)
मैं कह रही है कि आंशिक wakelocks इस तरह इस लिंक Google standby error page के रूप में की तरह वे क्या करना चाहिए काम नहीं करते, लोगों को देखा है लेकिन इस जारी किया है और पिछले साल बंद कर दिया तो मैं नहीं जानता कि गया था क्या यह मामला है, क्या कोई यहां कृपया मदद कर सकता है? मेरे पास एक आखिरी बिंदु भी है, धन्यवाद के रूप में एक एचटीसी इच्छा है।
ठीक है क्षमा करें अगर मैं अस्पष्ट था और उत्तर के लिए धन्यवाद। मेरा सवाल यह था कि मैं अपने फोन पर एक वॉकलॉक कैसे चला सकता हूं ताकि स्क्रीन अभी भी बंद होने पर मेरा ऐप चल सके, क्योंकि मैं जिस कोड का उपयोग कर रहा हूं वह काम नहीं कर रहा है। मैं स्क्रीन पर नहीं रखना पसंद करूंगा ताकि वह बैटरी को बर्बाद न करे और अगर मैंने इसे बाजार में डालने का फैसला किया तो विजेट का उपयोग नहीं करना पड़ेगा (फिर अन्य उपयोगकर्ताओं को विजेट का उपयोग करना होगा) – bobby123
@ bobby123 : आंशिक 'वेक लॉक' के लिए एक गतिविधि में तार्किक आवश्यकता नहीं हो सकती है। ए * सेवा * को आंशिक 'वेक लॉक' की आवश्यकता हो सकती है, लेकिन एक गतिविधि नहीं, जिसका मौजूदा उद्देश्य केवल स्क्रीन पर सामान प्रदर्शित करना है। इसलिए, या तो गतिविधि से और सेवा में अपना 'वेक लॉक' प्राप्त करें (मिलान करने के लिए अपने व्यावसायिक तर्क को समायोजित करें), या 'एंड्रॉइड: keepScreenOn' का उपयोग करें। अपनी 'WakeLock' को अपनी सेवा के' क्रिएट() 'में प्राप्त करें और इसे' onDestroy() 'में रिलीज़ करें। 'StartForeground() 'का उपयोग करें, इसलिए आपकी सेवा को नियुक्त नहीं किया गया है और उपयोगकर्ता को सेवा को रोकने के लिए गतिविधि प्राप्त करने का एक आसान तरीका प्रदान करता है। – CommonsWare
यही वह है जिसे मैं जानना चाहता था, धन्यवाद। मैं वेक लॉक को सेवा में ले जाऊंगा क्योंकि मुझे इसकी ज़रूरत है। मेरे पास किसी भी समय सेवा समाप्त करने के लिए मेनू बटन है। एक आखिरी सवाल कृपया, क्या आपको पता है कि एक्सेलेरोमीटर के लिए सेंसर चेंज() पर विधि आंशिक जागने के लॉक के तहत अभी भी काम करनी चाहिए या क्या यह अभी भी Google के साथ एक मुद्दा है? – bobby123