Android闹钟alarmManager+PendingIntent

这次给大家分享两种闹钟:

第一种是当到达闹钟时间后执行一次相应的操作

alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);

第二种是当到达闹钟时间后每隔一段时间执行操作

  alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);
下面看效果图:

设置两种闹钟

选择闹钟时间

闹钟一到打开一个界面

下面看代码:

public class Alarm2Activity extends AppCompatActivity {    private AlarmManager alarmManager;    private PendingIntent pendingIntent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_alarm2);        //实例化闹钟个管理器        alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);    }    //设置闹钟(只响一次)    public void startAlarmOne(View view){        //获取当前系统的时间        Calendar calendar=Calendar.getInstance();        int hour=calendar.get(Calendar.HOUR_OF_DAY);        int minute=calendar.get(Calendar.MINUTE);        //弹出时间对话框(选择时间)        TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {            @Override            public void onTimeSet(TimePicker timePicker, int i, int i1) {                //获取当前系统的时间                Calendar c=Calendar.getInstance();                c.set(Calendar.HOUR_OF_DAY,i);                c.set(Calendar.MINUTE,i1);                //打开一个Activity                Intent intent=new Intent();                intent.setAction("com.example.myandroid_27.ALARM");                PendingIntent pendingIntent= PendingIntent.getBroadcast(Alarm2Activity.this,0x101,intent,0);                //设置闹钟                alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);            }        },hour,minute,true);        timePickerDialog.show();    }    //设置闹钟(在多长时间后闹钟响然后继续计时)    public void startAlarmTwo(View view){        //获取当前系统的时间        Calendar calendar=Calendar.getInstance();        int h=calendar.get(Calendar.HOUR_OF_DAY);        int m=calendar.get(Calendar.MINUTE);        //弹出时间对话框(选择时间)        TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {            @Override            public void onTimeSet(TimePicker timePicker, int i, int i1) {                //获取选择的闹钟时间                Calendar c=Calendar.getInstance();                c.set(Calendar.HOUR_OF_DAY,i);                c.set(Calendar.MINUTE,i1);                //打开一个Activity                Intent  intent=new Intent();                intent.setAction("com.example.myandroid_27.ALARM");                pendingIntent = PendingIntent.getBroadcast(Alarm2Activity.this,0x102,intent,0);                //闹钟什么时候继续执行                alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);            }        },h,m,true);        timePickerDialog.show();    }    //关闭周期闹钟    public void startAlarmThree(View view){        alarmManager.cancel(pendingIntent);    }}

更多相关文章

  1. Android(安卓)日期和时间的使用实例详解
  2. 对话框AlertDialog的使用
  3. android创建漂亮对话框
  4. Android(安卓)获取年月日时分秒 格式化指定时间字符串
  5. ios手机getTime不兼容的问题(安卓正常)
  6. Android常用Dialog总结
  7. Adroid 之 Builder 对话框
  8. Android开发经验总结——对话框的使用
  9. Android判断定位功能是否可用

随机推荐

  1. Android官方下拉刷新控件 SwipeRefreshLa
  2. Android(安卓)开发第四天
  3. Firebase Crashlytics Sdk接入流程(Androi
  4. Android(安卓)在低版本sdk中没有getSuppo
  5. Android—网络编程
  6. RichTextUtil Android(安卓)文字高亮可点
  7. android使用豆瓣API出现500错误及解决方
  8. android 耳机插入检测
  9. 解决工程导入出现the currently displaye
  10. appium简明教程(7)——Desired Capabilitie