編輯:關於Android編程
Alarm就是我們通常說的鬧鐘,其實,在Android中實現一個簡單的鬧鐘功能並不是很難,原理就是在特定的事件廣播一個Intent,然後系統收到這個廣播以後,做出一個反應( Receive)。在Android中提供了四種類型的鬧鐘,分別是ELAPSED_REALTIME(在指定的延時後廣播通知,不喚醒設備)、ELAPSED_REALTIME_WAKEUP(在指定的延時後廣播通知,喚醒設備)、 RTC (在指定的時刻發送通知,不喚醒設備)、RTC_WAKEUP( 在指定的時刻發送通知,不喚醒設備)。在Android中實現鬧鐘最主要的幾個方法是:
void set(int type, long triggerAtTime, PendingIntent operation)
設置一個鬧鐘
void setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)
設置一個會重復的鬧鐘
void setInexactRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)
設置一個重復鬧鐘的不精確版本
內置的幾個interval為: INTERVAL_FIFTEEN_MINUTES 、INTERVAL_HALF_HOUR、INTERVAL_HOUR、 INTERVAL_HALF_DAY、 INTERVAL_DAY
void cancel(PendingIntent operation)
取消一個鬧鐘
代碼實現片段:
am=(AlarmManager)getSystemService(ALARM_SERVICE);
Intent intent=new Intent();
intent.setAction("com.Android.AlarmManager.action.BACK_ACTION");
intent.putExtra("Message", "學習編程累了,該休息一下啦");
pi=PendingIntent.getBroadcast(MainActivity.this, 0, intent,0);
BtnOpen=(Button)findViewById(R.id.BtnOpen);
BtnOpen.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
//立即提醒
am.set(AlarmManager.RTC, System.currentTimeMillis(), pi);
//每隔一分鐘提醒
//am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 10000, pi);
}
}); 這樣我們就實現了發送廣播的過程,下面我們再來說接收的事情。
我們首先繼承BroadcastReceiver實現一個用以接收發出去的廣播的類Receiver。
public class Receiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Toast.makeText(context, intent.getStringExtra("Message"), Toast.LENGTH_SHORT).show();
}
}
然後在AndroidMainifest.xml中的application節點中加入下面的內容,完成Receiver的注冊
Android基礎入門教程——10.5 AlarmManager(鬧鐘服務)
Android基礎入門教程——10.5 AlarmManager(鬧鐘服務)標簽(空格分隔): Android基礎入門教程本節引言: 本節帶來的A
AnimatedPathView實現自定義圖片標簽
老早用過小紅書app,對於他們客戶端筆記這塊的設計非常喜歡,恰好去年在小紅書的競爭對手公司,公司基於產品的考慮和產品的發展,也需要將app社交化,於是在社區分享這塊多多少
android 實現自定義狀態欄通知(Status Notification)
在android項目的開發中,有時為了實現和用戶更好的交互,在通知欄這一小小的旮旯裡,我們通常需要將內容豐富起來,這個時候我們就需要去實現自定義的通知欄,例如下面360或
Qt on Android: Qt Quick 簡單教程
上一篇《Qt on Android: Qt Quick 之 Hello World 圖文詳解》我們已經分別在電腦和 Android 手機上運行了第一個 Qt Quick