日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android平臺預置GMS包后關機鬧鐘失效問題及解決方法

瀏覽:95日期:2022-09-22 15:51:34

1.介紹

關機鬧鐘為Android中默認支持的功能,實現(xiàn)起來則需要滿足一定的條件:自動開機、開機后響鈴。對于自動開機來說,自動關機可以在應用層通過設置alarm來實現(xiàn),而自動開機需要底層rtc時鐘的支持;開機后檢查時間,到點響鈴。

2.原理

一般智能手機的硬件架構都是分為RF,BB,AP這三個部分, RF射頻部分的功能主要是接收和發(fā)射射頻,大家不用關注這個。而AP部分就是應用程序處理器,其實也就是CPU模塊;BB部分則是基帶模塊。通常手機關機都是AP模塊完全斷電,而BB雖然處在關機狀態(tài),但實際上鬧鐘和時間部分并沒有斷電。而當所設置鬧鐘到點時BB模塊會自動給AP模塊上電,這樣系統(tǒng)也就能開機并激活鬧鐘功能了。

3.流程

在鬧鐘設置一個時間合適且有效響鈴的鬧鐘后,向PowerOffAlarm發(fā)送設定關機鬧鐘廣播并傳入鬧鐘時間參數(shù),PowerOffAlarm接收到廣播后,根據(jù)預設提前開機時間和鬧鐘時間往rtc中寫入時間,并將該時間寫入文件中暫存。設置好鬧鐘后關機,機器會根據(jù)rtc中的alrm_time時間參數(shù)來開機,開機后AlarmManagerService會檢查鬧鐘,并在鬧鐘時間發(fā)送廣播后彈出響鈴界面。點擊關閉鬧鐘后,會發(fā)送取消關機鬧鐘廣播,PowerOffAlarm會對傳入時間與暫存的時間對比,如果相同則會取消該關機鬧鐘。

4.遇到問題及解決方法

4.1預置GMS包后,關機鬧鐘失效

在對比平臺鬧鐘分析后,發(fā)現(xiàn)谷歌鬧鐘在設置鬧鐘后并沒有向PowerOffAlarm發(fā)送廣播,但是由于谷歌鬧鐘無法進行修改。在分析了平臺的鬧鐘設置鬧鐘步驟后,發(fā)現(xiàn)在設置鬧鐘后都會調用AlarmManager.setAlarmClock()這個方法,然后再AlarmStateManager的updateNextAlarm方法中發(fā)送設置關機鬧鐘的廣播。谷歌鬧鐘在設置鬧鐘也會調用AlarmManager.setAlarmClock()這個方法,所以在該方法中直接發(fā)送廣播到PowerOffAlarm中。

@@ -615,8 +633,34 @@ public class AlarmManager { public void setAlarmClock(AlarmClockInfo info, PendingIntent operation) { setImpl(RTC_WAKEUP, info.getTriggerTime(), WINDOW_EXACT, 0, 0, operation, null, null, null, null, info);+ setPowerOffAlarm(mContext,info.getTriggerTime()); } ++ /*add by hxj at Aug.6,for PowerOffAlarm*/+ private void setPowerOffAlarm(Context context, long time) {+ Log.d(TAG, 'setPowerOffAlarm: saveAlarmToPreference and sendBroadcast to setPowerOffAlarm,the time is '+time);+ DEFAULT_ALARM_TIME = time;+ Intent intent = new Intent(ACTION_SET_POWEROFF_ALARM);+ intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);+ intent.setPackage(POWER_OFF_ALARM_PACKAGE);+ intent.putExtra(TIME, time);+ context.sendBroadcast(intent);+ }++ private void cancelPowerOffAlarm(Context context) {+ //long time = getAlarmFromPreference(context);+ Log.d(TAG, 'cancelPowerOffAlarm: cancel alarm and cancelPowerOffAlarm(mContext),time is '+DEFAULT_ALARM_TIME );+ Intent intent = new Intent(ACTION_CANCEL_POWEROFF_ALARM);+ intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);+ intent.putExtra(TIME, DEFAULT_ALARM_TIME);+ intent.setPackage(POWER_OFF_ALARM_PACKAGE);+ context.sendBroadcast(intent);+ DEFAULT_ALARM_TIME = 0L;+ }++ /** @hide */ @SystemApi @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)@@ -930,6 +974,7 @@ public class AlarmManager { try { mService.remove(operation, null);+ cancelPowerOffAlarm(mContext); } catch (RemoteException ex) { throw ex.rethrowFromSystemServer(); }

4.2 PowerOffAlarm無法接收廣播

在分析log后,發(fā)現(xiàn)接受該廣播需要在應用中添加特定的權限,即'org.codeaurora.permission.POWER_OFF_ALARM'權限,但是由于谷歌鬧鐘中未添加并且無法修改,所以在PowerOffAlarm中接收管廣播處移除該權限。

@@ -29,7 +29,7 @@ android:defaultToDeviceProtectedStorage='true'> <receiver android:name='.PowerOffAlarmBroadcastReceiver'- android:permission='org.codeaurora.permission.POWER_OFF_ALARM'+ android:exported='true' android:directBootAware='true' android:label='PowerOffAlarmBroadcastReceiver'>

4.3 開機時間過長導致開機后鬧鐘過期

提前開機時間平臺預設默認為90000毫秒,項目中開機時間較長,所以增長開機時間,改為150000毫秒。

@@ -42,7 +42,7 @@ public class PowerOffAlarmUtils { private static final int FAILURE = -1; - public static final long MS_IN_ONE_MIN = 90000L;+ public static final long MS_IN_ONE_MIN = 150000L; private static final long SEC_TO_MS = 1000L;

此外還有其他的問題也會導致關機鬧鐘的失效,有時間再來記錄一下。

總結

到此這篇關于Android平臺預置GMS包后,關機鬧鐘失效的文章就介紹到這了,更多相關android 預置GMS包關機鬧鐘失效內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
青青伊人久久| av资源新版天堂在线| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩激情在线一区二区三区| 在线亚洲激情| 天堂久久av| 欧美激情五月| 91精品国产乱码久久久久久久| 日韩亚洲在线| 97精品久久| 精品美女在线视频| 亚洲精品网址| 国产探花在线精品| 丝袜脚交一区二区| 久久九九精品| 蜜臀av一区二区在线免费观看| 日本午夜精品| 精品丝袜久久| 国产视频欧美| 久久99偷拍| 国产在线不卡| 日本99精品| 成人福利av| 亚洲色图网站| 国产不卡精品在线| 只有精品亚洲| 日韩av免费大片| 久久国产精品亚洲77777| 日本国产一区| 久久中文字幕二区| 久久国产精品色av免费看| 日韩**一区毛片| 日韩综合在线| 男女男精品视频网| 久久精品理论片| 伊人久久亚洲热| 国产欧美日韩精品一区二区免费| 日韩高清成人| 国产精久久久| 美美哒免费高清在线观看视频一区二区| 久久伊人国产| 亚洲视频二区| 久久人人精品| 欧美日韩18| 日韩亚洲精品在线| 日韩综合一区| 日韩不卡免费视频| 欧美日韩在线观看视频小说| 国产欧美日韩在线观看视频| 亚洲女同中文字幕| 麻豆精品一区二区综合av| 日本欧洲一区二区| 日韩在线第七页| 国产精品久久久久久久久久妞妞| 亚洲综合二区| 免费污视频在线一区| 国产区精品区| 婷婷久久免费视频| 久久国产日本精品| 国产aⅴ精品一区二区四区| 日本欧美韩国一区三区| 午夜一级久久| 欧美成人高清| 91精品亚洲| 日韩欧美字幕| 国产精品国产一区| 国产极品久久久久久久久波多结野| 久久先锋影音| 美女久久久久| 91精品国产调教在线观看| 精品久久视频| 国产精品a级| 国产日本亚洲| 日韩毛片网站| 日本综合精品一区| 亚洲一区二区av| 久久午夜影视| 男女男精品视频网| 爽爽淫人综合网网站| 欧美日韩一二三四| 久久精品动漫| 欧美不卡视频| 国产一区日韩一区| 久久激情婷婷| 久久精品一区二区不卡| 极品av在线| 欧美国产小视频| 98精品视频| 动漫av一区| 国产不卡人人| 天堂√8在线中文| 日韩精品欧美激情一区二区| 日韩在线第七页| 亚洲午夜天堂| 欧美一区二区三区激情视频| 91精品国产调教在线观看| 99视频精品全国免费| 欧美精品一二| 亚洲一区导航| 欧美日本久久| 国产激情久久| 蜜臀国产一区| 亚州av乱码久久精品蜜桃| 91九色精品| 老牛影视一区二区三区| 欧美在线日韩| 精品黄色一级片| 成人片免费看| 波多野结衣一区| 一本综合精品| 国产极品嫩模在线观看91精品| 精品中国亚洲| 欧美日韩在线观看视频小说| 国产日韩专区| 国产日产精品一区二区三区四区的观看方式 | 亚洲精品综合| 欧美日韩一区自拍| 精品国产欧美日韩| 亚洲午夜在线| 日韩专区欧美专区| 久久激情五月婷婷| 97欧美在线视频| 在线亚洲自拍| 欧美日韩伊人| 亚洲1234区| 视频一区欧美精品| 国产精品v一区二区三区| 日韩精品dvd| 免费人成在线不卡| 国产日韩亚洲欧美精品| 国产精品亚洲一区二区三区在线观看| 91成人精品视频| 国产无遮挡裸体免费久久| 在线一区视频观看| 日韩精品视频在线看| 日韩综合在线| 综合国产在线| 欧美男人天堂| 日本综合视频| 四虎影视精品| 国产日韩欧美高清免费| 国产精品99免费看| 国产视频网站一区二区三区| 久久婷婷激情| 日韩一区二区三区精品| 欧美激情另类| 日韩在线麻豆| 婷婷激情一区| 国产欧美日韩一级| 日韩一区二区久久| 精品国产aⅴ| 久久午夜精品一区二区| 国产一区二区三区不卡av| 久久xxxx精品视频| 91嫩草亚洲精品| 日本精品另类| 亚洲黄色在线| 日韩国产一区二区| 欧美在线精品一区| 亚洲精品网址| 国产一区丝袜| 欧美日韩一区二区三区在线电影| 欧美二区视频| 福利一区二区| 日韩av不卡一区二区| 99香蕉国产精品偷在线观看 | 蜜臀久久精品| 国产日韩在线观看视频| 欧美日韩国产综合网| 国产精品白丝久久av网站| 免费视频久久| 激情综合网站| 欧美精品资源| 国产精品99久久精品| 久久精品99国产精品| 亚洲一区欧美| 婷婷中文字幕一区| 日韩在线欧美| 欧美韩一区二区| 日韩激情综合| 蜜桃免费网站一区二区三区| 激情欧美亚洲| 欧美日韩尤物久久| 狠狠久久伊人| 国产精品免费精品自在线观看| 亚洲日本免费电影| 亚洲自拍另类| 日韩午夜一区| 欧美不卡在线| 久久久人人人| 国产不卡人人| av中文资源在线资源免费观看| 国产精品99久久久久久董美香| 一区二区国产在线观看| 亚洲激情中文| 在线 亚洲欧美在线综合一区| 不卡av一区二区| 在线一区电影| 国产精品三上| 一本一道久久a久久精品蜜桃|