【发布时间】:2012-04-06 05:38:27
【问题描述】:
在这里,我将使用闹钟服务每隔 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:00, 1:30, 2:00 。 . .等等
那么我必须对我的代码进行哪些更改?
【问题讨论】:
-
您必须创建一个将在您的应用程序后台运行的服务。因此,如果您退出应用程序,该服务将继续运行并根据您的逻辑执行您的代码。
-
@Suvam Roy 我知道这一切。但是想知道如何设置闹钟应该从12:30开始,每30分钟播放一次。
-
@iDroidExplorer : 看看这篇文章也许会有帮助Using Alarmmanager to start a service at specific time
-
@imrankhan:嘿,谢谢。我认为这将是有效的。但只是问你问题。如果我将小时设置为 12,分钟设置为 30,并且如果我在 1:29 将应用程序安装在设备中,那么它会在 1:30 播放警报吗???
-
@imrankhan:请把你的回答说出来,这样我可以接受。
标签: android service alarmmanager android-alarms