我正在使用一个服务,它在由AlarmManager重复创建的Activity 'A'中被调用。我的服务会重复检查来自服务器的响应,当响应为true时,新的Activity B将启动。现在,当Activity B启动时,我想停止服务以及AlarmManager。我该如何做到这一点?
以下是我调用服务的'A' Activity代码:
我也尝试在Activity 'B'中使用这段代码片段停止AlarmManager,但失败了。
以下是我调用服务的'A' Activity代码:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 40);
Intent intent = new Intent(this, response.class);
// Add extras to the bundle
intent.putExtra("foo", "bar");
// Start the service
// startService(intent);
pintent = PendingIntent.getService(this, 0, intent, 0);
alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int i;
i = 15;
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
i * 1000, pintent);
startService(intent);
我也尝试在Activity 'B'中使用这段代码片段停止AlarmManager,但失败了。
Intent sintent = new Intent(this, response.class);
pintent = PendingIntent.getService(this, 0, sintent, 0);
alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
stopService(sintent);
alarm.cancel(pintent);