我已经写了一个关于如何使用AlarmManager的非常详细的答案.你可以在这里阅读.
关于你的特定情况.您可以stopScheduling使用cancel()方法向调度程序添加方法:
public class TaskScheduler {
PendingIntent mPendingIntent;
AlarmManager mAlarmManager;
public static void startScheduling(Context context) {
Intent intent = new Intent(context, MyReceiver.class);
mPendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
mAlarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), 600, pendingIntent);
}
public static void stopScheduling() {
mAlarmManager.cancel(mPendingIntent);
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当您想要停止计划时,您可以调用该方法.
现在我不知道任何简单的方法会导致AlarmManager在2小时后自行停止,但是你可以编写另一个调度程序,它将在2小时后启动以删除第一个调度程序.
我建议你一步一步做.首先尝试实现一个简单的警报并使用参数来查看调度的工作方式,然后尝试删除此警报.一旦这项工作,您将轻松完成其余的工作,因为它只是一些基本的编程任务.另请阅读我在此处写的详细答案,因为它提供了设置基本警报所需的所有信息.
| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |