Android唤醒锁作用,Android深度睡眠和唤醒锁
我創(chuàng)建了一款在所有手機(jī)中運(yùn)行良好的Android應(yīng)用程序。但在我的阿爾卡特手機(jī)中,手機(jī)并未進(jìn)入深度睡眠模式,數(shù)據(jù)網(wǎng)絡(luò)出現(xiàn)故障,因此應(yīng)用程序無法獲取數(shù)據(jù)網(wǎng)絡(luò),也無法同步服務(wù)器中的數(shù)據(jù)。Android深度睡眠和喚醒鎖
我的設(shè)計(jì)...
SystemBootReceiver - >(DataSyncService)Service - >(MyBroadcastReceiver)BroadcastReceiver - >(MyDataService)Service。
所以這里在系統(tǒng)啟動(dòng)我開始DataSyncService我在那里設(shè)置AlarmManager(重復(fù)),并呼吁MyBroadcastRecever。致電BroadcastRecever后,我通過致電stopself()停止DataSyncService。
現(xiàn)在MyBroadcastRecever調(diào)用MyDataService。
我遇到了WakeLocks,如上所述阻止手機(jī)進(jìn)入深度睡眠模式。 所以我實(shí)現(xiàn)它里面MyDataServiceonCreate()方法
PowerManager pm = (PowerManager)
getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
mWakeLock.acquire();
而且release()之后鎖定停止該服務(wù)之前。
我也在Android Manifest中設(shè)置了權(quán)限。
但這沒有奏效。因此,為了快速檢查,我使用了來自市場(chǎng)的WAKE LOCK應(yīng)用程序。
但是這也沒有喚醒電話。我再次遇到了從市場(chǎng)上喚醒我的ANDROID(應(yīng)用程序從商店中刪除)應(yīng)用程序,并安裝了它。這里發(fā)生了一個(gè)奇跡。
它使手機(jī)保持活著。
正如本應(yīng)用程序中的說明所述,他們也使用了Wake Lock。那么我錯(cuò)過了什么?
是否存在執(zhí)行錯(cuò)誤或設(shè)計(jì)問題?
+0
也許,你可以嘗試[ACQUIRE_CAUSES_WAKEUP](http://developer.android.com/reference /android/os/PowerManager.html#ACQUIRE_CAUSES_WAKEUP)國(guó)旗與SCREEN_DIM_WAKE_LOCK –
+0
你能澄清你的問題嗎?問題是,喚醒設(shè)備后應(yīng)用程序運(yùn)行時(shí),網(wǎng)絡(luò)請(qǐng)求會(huì)失敗? –
+0
你解決了你的問題嗎? –
總結(jié)
以上是生活随笔為你收集整理的Android唤醒锁作用,Android深度睡眠和唤醒锁的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我爱刷题001-2018.02.01
- 下一篇: Android Studio 4.2 中