国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程鬧鐘設置方法詳解

2019-10-23 20:08:39
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程鬧鐘設置方法。分享給大家供大家參考,具體如下:

鬧鐘在生活中最常見了,在Android中可以通過AlarmManager來實現鬧鐘,AlarmManager類專門用來設置在某個指定的時間去完成指定的時間。AlarmManager就會通過onReceive()方法去執行這些事件,就算系統處于待機狀態,同樣不會影響運行。可以通過Context.getSystemService方法來獲得該服務。AlarmManager中的方法不少,如下:

 

方法

說明

Cancel

取消AlarmManager服務

Set

設置AlarmManager服務

setInexactRepeating

設置不精確周期

SetRepeating

設置重復周期

setTimeZone

設置時區


要實現鬧鐘,首先需要創建一個繼承自BroadcastReceiver的類,實現onReceive方法來接受這個Alarm服務,然后通過建立Intent和PendingIntent連接來調用Alarm組件。通過TimerPickerDialog來設置鬧鈴時間,當時間到了我們指定的時間后onReceiver方法接受到Alarm服務后的界面。

 

首先實現接受Alarm服務的AlarmReceiver類,用Toast類提示用戶

public class AlarmReceiver extends BroadcastReceiver {  @Override  public void onReceive(Context arg0, Intent arg1) {    // TODO Auto-generated method stub    Toast.makeText(arg0, "你設置的鬧鈴時間到了", Toast.LENGTH_LONG).show();  }}

由于使用了BroadcastReceiver服務,因此需要再AndroidManifest.xml中進行聲明:

<receiver  android:name=".AlarmReceiver"  android:process=":remote"></receiver>

然后需要設置鬧鈴和取消鬧鈴的時間進行監聽:

package cn.edu.pku;import java.util.Calendar;import android.app.Activity;import android.app.AlarmManager;import android.app.PendingIntent;import android.app.TimePickerDialog;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.TimePicker;public class AlarmActivity extends Activity {  /** Called when the activity is first created. */  Button mButton1;  Button mButton2;  TextView mTextView;  Calendar calendar;  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    calendar=Calendar.getInstance();    mTextView=(TextView)findViewById(R.id.TextView01);    mButton1=(Button)findViewById(R.id.Button01);    mButton2=(Button)findViewById(R.id.Button02);    mButton1.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {        // TODO Auto-generated method stub        calendar.setTimeInMillis(System.currentTimeMillis());        int hour = calendar.get(Calendar.HOUR_OF_DAY);        int minute = calendar.get(Calendar.MINUTE);        new TimePickerDialog(AlarmActivity.this, new TimePickerDialog.OnTimeSetListener() {          public void onTimeSet(TimePicker view, int hourOfDay, int minute) {            // TODO Auto-generated method stub            calendar.setTimeInMillis(System.currentTimeMillis());            calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);            calendar.set(Calendar.MINUTE, minute);            calendar.set(Calendar.SECOND, 0);            calendar.set(Calendar.MILLISECOND, 0);            Intent intent = new Intent(AlarmActivity.this, AlarmReceiver.class);            PendingIntent pendingIntent = PendingIntent.getBroadcast(AlarmActivity.this, 0, intent, 0);            AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);            alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000),                (24 * 60 * 60 * 1000), pendingIntent);            String tmps = "設置鬧鐘時間為" + format(hourOfDay) + ":" +format(minute);            mTextView.setText(tmps);          }        }, hour, minute, true).show();      }    });    mButton2.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {        // TODO Auto-generated method stub        Intent intent = new Intent(AlarmActivity.this, AlarmReceiver.class);        PendingIntent pendingIntent = PendingIntent.getBroadcast(AlarmActivity.this, 0, intent, 0);        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);        alarmManager.cancel(pendingIntent);        mTextView.setText("鬧鈴已取消!");      }    });  }  private String format(int time){    String str = "" + time;    if(str.length() == 1){      str = "0" + str;    }    return str;  }}

效果如下:

設置鬧鈴

Android編程,鬧鐘,設置方法

現在時間到設置鬧鈴的時間:

Android編程,鬧鐘,設置方法

取消鬧鈴:

Android編程,鬧鐘,設置方法

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通渭县| 交口县| 修文县| 乐安县| 广安市| 兖州市| 天台县| 林西县| 都兰县| 瑞昌市| 清水县| 富顺县| 阿拉善盟| 通渭县| 六枝特区| 栾城县| 新野县| 台州市| 靖宇县| 南宫市| 台东市| 北碚区| 富顺县| 平定县| 江油市| 习水县| 雅江县| 阜城县| 正阳县| 宁蒗| 福州市| 普格县| 东阿县| 紫金县| 南华县| 广东省| 嘉定区| 汤阴县| 青铜峡市| 思茅市| 东乡|