android闹钟开发

首先我们声明一个闹钟的管理

AlarmManager manager;

然后获得这个实例:

manager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);
设置闹钟是需要一个pendingIntent所以我们先创建一个出来

Intent intent = new Intent(MainActivity.this,SetAlarmActivity.class);
final PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,0,intent,0);
然后进入正文设置闹钟:

btn_open.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //设置系统时间
        Calendar currentTime = Calendar.getInstance();
        new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
               //设置当前时间
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(System.currentTimeMillis());
                calendar.set(Calendar.MINUTE,minute);
                manager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);
                Toast.makeText(MainActivity.this,"闹钟设置好了",Toast.LENGTH_SHORT).show();



            }
        },currentTime.get(Calendar.HOUR_OF_DAY),currentTime.get(Calendar.MINUTE),false).show();
    }
});
btn_close.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        manager.cancel(pendingIntent);
        Toast.makeText(MainActivity.this,"闹钟已关闭",Toast.LENGTH_SHORT).show();
    }
});
点击按钮设置闹钟时间,到时之后会跳到另一个界面展示dialog:

//播放闹钟提示音
final MediaPlayer mediaPlayer = MediaPlayer.create(this,R.raw.mei);
//是否循环播放
mediaPlayer.setLooping(true);
//启动
mediaPlayer.start();
//创建一个dialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("闹钟");
builder.setIcon(R.mipmap.ic_launcher);
builder.setMessage("闹钟时间到了");
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        mediaPlayer.stop();
        SetAlarmActivity.this.finish();
    }
});
AlertDialog dialog = builder.create();
dialog.show();
这样闹钟就好了,

我们再写一个按钮用来实现点击关闭闹钟:

btn_close.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        manager.cancel(pendingIntent);
        Toast.makeText(MainActivity.this,"闹钟已关闭",Toast.LENGTH_SHORT).show();
    }
});

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值