在这里,我将使用闹钟服务每30分钟播放一次闹钟。现在我已将它设置为从每次开始每10秒播放一次。
以下是代码:
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.settings_layout);
Intent myIntent = new Intent(SettingsActivity.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(SettingsActivity.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10*1000, pendingIntent);
}
现在的问题是,我想从12:30开始闹钟而不是从应用程序启动时开始,它应该在30分钟后重复播放。喜欢1点,1点半,2点。 。 。等
那么我的代码需要做些什么改变?
答案 0 :(得分:2)
在特定时间开始服务。 看到这篇文章可能有帮助:
答案 1 :(得分:1)
使用Set method将您的初始闹钟时间设置为12:30。
当闹钟响起时,请设置下一个闹钟时间并继续这样做,直到您不再需要闹钟为止。
您不需要服务来完成这么简单的任务。 AlarmManager非常有能力处理这个问题。
答案 2 :(得分:1)
答案 3 :(得分:1)
一种天真的方法是:
答案 4 :(得分:0)
要每30分钟重复一次,您需要将其添加到您的代码中:
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*30, pendingIntent); //millisecs*seconds*minutes
但我还没弄清楚如何在特定时间开始。