導航:首頁 > 操作系統 > android鬧鍾廣播

android鬧鍾廣播

發布時間:2023-02-22 17:38:10

android系統睡眠狀態如何喚醒線程和廣播

不能!
(不能手動喚醒,因為肯定需要點亮屏幕(手動點亮屏幕),所以並不是真睡眠狀態)。
只能提前設置,比如鬧鍾,具體到「廣播」即收音機,那麼只建議使用第三方程序,如「蜻蜓FM」,就像鬧鍾可以定時自動開啟。

如果是自己造,相當於重新編個程序出來,需要掌握大量專業性的東西,得不償失

② 用Android studio做一個可以運行的小程序,鬧鍾也行,然後可以連到手機,感謝大神。

環境搭建就不講了,直接說開發。

小鬧鍾程序開發中的要點就是:

1、時間選擇對話框(TimePicker)

2、獲取鬧鍾管理器並對其進行設置

3、注冊廣播接收器

掌握了這兩點,寫程序就很簡單了。

1、新建android項目:Alarm,sdk版本選擇2.2,Package name:com.lql.activity,Main Activity:Alarm

2、編寫界面:直接修改layout中的main.xml文件,代碼如下:

Xml代碼

③ 手機怎麼設置鬧鍾廣播

要想在手機中設置鬧鍾還是非常簡單的,只需要單擊手機中的時間,就可以顯示設置鬧鍾的選項。

④ android中鬧鍾程序是怎樣監聽系統時間的

是的 關機之後就不起作用,需要每次開機後重新設置下

⑤ android AlarmManager使用詳解

AlarmManager是android中系統自帶的一個提醒服務,比如設置鬧鍾,做一個定時任務,還可以設置重復操作

AlarmManager中常用的有三個方法:
1、set(int type,long startTime,PendingIntent pi),用於設置一次鬧鍾。

2、setRepeating(int type,long startTime,long intervalTime,PendingIntent pi),用於設置重復鬧鍾。

3、setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi),同樣是用於設置重復鬧鍾,但是它是不準確的,相對於第二個方法,也更加節能。

下面就看看這些方法中的參數:
type為鬧鍾的類型,可分為四個常量:
ELAPSED_REALTIME:鬧鍾在睡眠狀態下不可用,使用的是相對系統啟動時間。

ELAPSED_REALTIME_WAKEUP:鬧鍾在睡眠狀態下可用,使用的是相對系統啟動時間。

RTC:鬧鍾在睡眠狀態下不可用,使用的是真實時間。

RTC_WAKEUP:鬧鍾在睡眠狀態下可用,使用的是真實時間。

startTime:為開始時間
intervalTime:為重復鬧鍾的間隔時間,內置了幾種:
INTERVAL_FIFTEEN_MINUTES 15分鍾
INTERVAL_HALF_HOUR 半個小時
INTERVAL_HOUR 一個小時
INTERVAL_HALF_DAY 半天
INTERVAL_DAY 一天

PendingIntent :廣播的一個intent,我們用廣播接受鬧鍾的定時任務,注冊一個廣播去接受,任務指令。
使用PendingIntent的getBroadcast (Context context, int requestCode, Intent intent, int flags)方法可以得到一個發送廣播動作的PendingIntent對象
為以下4個常量或其他支持使用Intent.fillIn()來控制它的變數:

FLAG_CANCEL_CURRENT:如果描述的PendingIntent對象已經存在時,會先取消當前的PendingIntent對象再生成新的。

FLAG_NO_CREATE:如果描述的PendingIntent對象不存在,它會返回null而不是去創建它。

FLAG_ONE_SHOT:創建的PendingIntent對象只使用一次。

FLAG_UPDATE_CURRENT:如果描述的PendingIntent對象存在,則保留它,並將新的PendingIntent對象的數據替換進去。

另一個就是在manifest.xml中注冊自己的廣播

這樣就可以實現定時任務了,如果要定時任務service啟動還可以加上service

⑥ 基於android的鬧鍾如何添加和刪除

一、本課題要求:設計一個基於Android的鬧鍾的軟體。

實現的功能有:能通過界面設置鬧鍾的啟動條件建立後台服務進程,當滿足觸發條件時,鬧鍾響應相應事件。

二、需求分析

該課題實現在手機操作系統Android鬧鍾提醒功能,攜帶方便,使用起來靈活、快捷、省心,是一款實用的手機軟體。「手機鬧鍾」可以在後台運行,且能和普通鬧鍾一樣設置多個位置鬧鈴,有良好的人機交互界面,可對其編輯、啟用或禁用,關鍵在於可以自定義設置取消鬧鍾的操作。

(1)系統體系結構包括:添加鬧鈴、設置時間、重復等,鬧鈴提醒方式,返回首頁。

(2)用戶界面設計

解除鬧鈴代碼

(2)代碼分析

開發手機鬧鍾主要用到了AlarmManager類,AlarmManager類提供了訪問系統定時服務的途徑,開發人員可以在程序中設置某個應用程序在未來的某個時刻被執行。當AlarmManager定時時間到了之後,當初注冊的Intent對象將會被系統廣播,進而啟動目標程序。注冊的鬧鍾在設備睡眠的時候仍然會保留,可以選擇性地設置是否喚醒設備,但是當設備關機和重啟後,鬧鍾將會被清除。

在程序運行時當需要使用AlarmManager類時,可以通過Context對象的getSystemService(Context.ALARM_SERVICE)方法來獲得AlarmManager對象。

鬧鍾使用的Demo:com.example.android.apis.app.AlarmController其中設定了兩種鬧鍾,一種是一次性的,一種是重復的。

四、總結

在這個過程中,我學會了很多知識,比如Android環境的搭建和配置問題、Android的構架和基本組建等,同時我學會的最重要的一點是,要利用現有的資源去解決問題,在圖書館、在網路上尋找答案,也可以請教老師或與同學相互討論。雖然,這個軟體目前運行良好,但是我認為代碼的健壯還很差,在整個工程的構思方面也不足,用戶操作界面還不夠靈活,這些問題還需要今後逐一解決。與此同時,這個軟體還可以進一步擴展,例如通過Android Api獲取位置信息,並在指定地點設置鬧鍾提醒等,使功能更加強大,帶給用戶更好的體驗與便捷的生活服務。

⑦ 手機鬧鍾記錄可以查嗎,想知道鬧鍾都在什麼時間響過

訂鬧鍾的時候可以選擇響鈴日期和周期,但是不會有記錄,所以不能查詢。

根據鬧鍾的原理:不是輪詢,在Android中,你添加一個鬧鍾之後,安卓自帶的鬧鍾程序會將你創建的鬧鍾先放到自己的Content Provider中,並且找到最近一次將要觸發的鬧鍾,將它注冊到Android系統中。

在Android5.0以及之後,鬧鍾程序會將鬧鍾實例放在的AlarmManager中,這個AM就會幫你照顧好它,當時間到了該鬧鍾需要觸發的時刻,系統便會發送一個廣播,這個廣播會攜帶這你之前注冊的Intent,鬧鍾程序收到這個廣播之後,就會啟動一個後台Service,service就會根據intent的內容觸發鬧鍾,進行響鈴、震動等操作。

在5.0之前,會將最近的鬧鍾保存到系統的Setting維護的一個資料庫中。

最後,安卓系統都會設置硬體RTC,時間一到便會觸發。例如你關機之後,時間一到,便會觸發系統啟動,啟動完成後系統會廣播系統啟動完成,鬧鍾程序收到廣播後便會從資料庫中讀取之前保存的鬧鍾數據,進行觸發。

但是是查不到記錄的。

⑧ android鬧鍾實現,不響……

AlarmManager 的運行需要程序活著,比如在前台或者後台活著,你退出程序後還會有一個空進程在運行,時間到了就會響。

但是!但是!如果你在設置中「停止運行」了這個程序,或者使用360清理一類的清理內存的軟體,或者某些軟體有自動清理內存功能,或者有攔截自啟動功能,或者內存低了,等等等等原因,導致你的程序沒辦法處於活動狀態,那麼AlarmManager就算到時間了也不會運行……

好的解決方法是在你的程序中寫個廣播接收器,接受多個廣播,比如接受開機啟動,網路發生變化,時區時間變化,等等廣播,然後接受廣播後拉起後台服務,這樣你就能盡可能保證程序處於活動狀態,並且要在360等許可權管理軟體中允許自啟動。

望採納

⑨ android中如何實現定時提醒

android中可以使用鬧鍾進行提醒,你只需要告知系統你想在什麼時候被提醒,然後需要一個鬧鍾的廣播接收器,當到你設置的時間時,系統會給你發送一條廣播,當你接收到廣播後你就可以做一些操作,比如啟動你的app,或者跳轉到你app中的任何一個界面。代碼如下:

//發送鬧鍾請求
Intent intent = new Intent(mContext, AlarmReceiver.class);
intent.setAction("something");
intent.setType("something");
intent.setData(Uri.EMPTY);
intent.addCategory(「something」);
intent.setClass(context, AlarmReceiver.class);
// 以上給intent設置的四個屬性是用來區分你發給系統的鬧鍾請求的,當你想取消掉之前發的鬧鍾請求,這四個屬性,必須嚴格相等,所以你需要一些比較獨特的屬性,比如伺服器返回給你的json中某些特定欄位。
//當然intent中也可以放一些你要傳遞的消息。
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, alarmCount, intent, 0);
//alarmCount是你需要記錄的鬧鍾數量,必須保證你所發的alarmCount不能相同,最後一個參數填0就可以。
AlarmManager am = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);
//這樣鬧鍾的請求就發送出去了。time是你要被提醒的時間,單位毫秒,注意不是時間差。第一個參數提醒的需求用我給出的就可以,感興趣的朋友,可以去google一下,這方面的資料非常多,一共有種,看一下就知道區別了。
//取消鬧鍾請求
Intent intent = new Intent(mContext, AlarmReceiver.class);
intent.setAction("something");
intent.setType(something);
intent.setData(Uri.EMPTY);
intent.addCategory(something);
intent.setClass(context, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, alarmCount, intent, 0);
//alarmCount對應到你設定時的alarmCount,
AlarmManager am = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
am.cancel(pendingIntent);
//接著,你需要一個廣播接收的類:
public class AlarmReceiver extends BroadcastReceiver{

private NotificationManager manager;

@Override
public void onReceive(Context context, Intent intent) {
manager = (NotificationManager)context.getSystemService(android.content.Context.NOTIFICATION_SERVICE);
//例如這個id就是你傳過來的
String id = intent.getStringExtra("id");
//MainActivity是你點擊通知時想要跳轉的Activity
Intent playIntent = new Intent(context, MainActivity.class);
playIntent.putExtra("id", id);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, playIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setContentTitle("title").setContentText("提醒內容").setSmallIcon(R.drawable.app_icon).setDefaults(Notification.DEFAULT_ALL).setContentIntent(pendingIntent).setAutoCancel(true).setSubText("二級text");
manager.notify(1, builder.build());
}
}

閱讀全文

與android鬧鍾廣播相關的資料

熱點內容
程序員勇敢的第一步 瀏覽:159
安卓車載音樂什麼格式 瀏覽:431
rin演過的電影 瀏覽:148
telnet命令登陸 瀏覽:328
不同文件夾名字怎麼找 瀏覽:242
邵氏風花雪月老電影 瀏覽:997
php多表批量導入 瀏覽:50
免費理論電影大全 瀏覽:874
法國兩男一女電影 瀏覽:292
有一部電影叫什麼湖泊 瀏覽:83
大尺度電影床戲視頻 瀏覽:672
壓縮機線圈燒了可以修嗎 瀏覽:783
cctv5加密收費嗎 瀏覽:211
理財app關閉該怎麼辦 瀏覽:452
伺服器如何配置多個https域名 瀏覽:86
怎樣製作文件夾的中文翻譯 瀏覽:518
泰劇大尺度影片 瀏覽:730
為什麼python適合做演算法 瀏覽:810
新疆政務服務app中如何實名認證 瀏覽:224
重生成小孩 瀏覽:104