android設定時間回撥後讓鬧鐘重新啟動

2021-07-24 06:36:24 字數 1736 閱讀 5037

遇到乙個需求

新設乙個鬧鐘,時間選在已經過去的時間,鬧鐘則自動匹配到第二天的時間。

現在將時間回撥,到鬧鐘啟動時間之前,到時間,需要觸發鬧鐘。

這個需求,目前蘋果是實現了的,部分android手機也實現了,搭載android 7.0 的 nexus手機並未實現。

下面直接給解決方案

啟動鬧鐘,需要設定乙個 鬧鐘的配置例項   alarminstance,裡面包含l鬧鐘的啟動時間及狀態。

例項化配置物件,需要傳入  calendar 物件,該物件既為鬧鐘的啟動時間。裡面包含具體的年月日。

alarminstance
myear= calendar.get(calendar.year);

mmonth= calendar.get(calendar.month);

mday= calendar.get(calendar.day_of_month);

mhour= calendar.get(calendar.hour_of_day);

mminute= calendar.get(calendar.minute);

當系統時間變動後,會傳送廣播

<actionandroid:name="android.intent.action.boot_completed"/>

<actionandroid:name="android.intent.action.time_set"/>

<actionandroid:name="android.intent.action.timezone_changed"/>

<actionandroid:name="android.intent.action.locale_changed"/>

這個時候註冊乙個廣播接收器,捕獲事件。

然後遍歷當前儲存的鬧鐘

contentresolver cr = context.getcontentresolver();

string activealarmquery = alarminstance.alarm_state + "<" + alarminstance.fired_state;

for(alarminstance instance : alarminstance.getinstances(cr, activealarmquery)) 

這樣就能觸發鬧鐘了

Android 設定系統時間

方案一 string y string.valueof mdatepicker.getyear y check y,4 string mon string.valueof mdatepicker.getmonth 1 mon check mon,2 string d string.valueof m...

Android休眠設定時間

預設情況下,android系統在超過n分鐘沒操作,會自動關屏並進入休眠狀態。實際上,有些專案要求超時不休眠,如果只是針對單個應用程式,我們可以通過電源管理設定狀態來實現,方法一 調整 settings.system.putint getcontentresolver android.provider...

Android休眠設定時間設定和實現永不鎖屏

問題 android休眠設定時間設定和實現永不鎖屏 方法 方法 一 調整系統原始碼 目的 實現永不休眠 路徑 frameworks base packages settingsprovider res values defaults.xml 行號 22 原來60000改為2147483647 目的 ...