繁体   English   中英

在一天中的特定时间设置闹钟

[英]Setting the Alarm at specific time of the day

我正在尝试在一天中的特定时间设置闹钟,例如:20:15,这是我正在使用的代码,但在20:15不会关闭

        Intent intent = new Intent(AlarmActivity.this, MyBroadcastReceiver.class);
        intent.putExtra("Hekma", "One better than none");
        PendingIntent pintent = PendingIntent.getService(AlarmActivity.this, 0,intent, 0);
        AlarmManager alarm = (AlarmManager)getSystemService(ALARM_SERVICE);
        Calendar cal = Calendar.getInstance();



        cal.set(Calendar.HOUR_OF_DAY, 20);
        cal.set(Calendar.MINUTE, 15);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent);

我在项目中使用了AlarmManager ,它可以完美运行。 试试这个可能对您有帮助:

Intent myIntent =  new Intent(MainActivity.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(MainActivity.this, 0, myIntent, 0);
AlarmManager alarmManager =  (AlarmManager) getSystemService(ALARM_SERVICE);

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

尝试

alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() - System.currentTimeMillis(), pintent);

这应该得到两次之间的差,因此,您希望它离开之前需要走多长时间。 因此,它应该在您希望关闭时关闭。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM