android - 停止Android alarmmanager的setrepeat

标签 android alarmmanager android-pendingintent

我已经创建了如下所示的警报

Intent intent = new Intent(this, Areceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 1234567, intent, 0);

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, timenow, 3000, sender);

我创建了一个按钮来停止警报。在 onclick 方法中,我编写了以下代码

Intent intentstop = new Intent(this, Areceiver.class);
PendingIntent senderstop = PendingIntent.getBroadcast(this,
            0, intentstop, 0);
AlarmManager alarmManagerstop = (AlarmManager) getSystemService(ALARM_SERVICE);

alarmManagerstop.cancel(senderstop);

但工作并没有停止。可能是什么问题?

最佳答案

您在启动警报时为您的待处理 Intent 提供了 request_code = 1234567。但是当您尝试停止它时,您使用的是 0。尝试停止时使用它并且应该可以工作

Intent intentstop = new Intent(this, Areceiver.class);
PendingIntent senderstop = PendingIntent.getBroadcast(this,
            1234567, intentstop, 0);
AlarmManager alarmManagerstop = (AlarmManager) getSystemService(ALARM_SERVICE);

alarmManagerstop.cancel(senderstop);

关于android - 停止Android alarmmanager的setrepeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389143/

相关文章:

android - 没有在附加内容中包含一个pendingIntent?

java - 抽屉导航库fragmentmain是什么意思

android - targetSdkVersion ="17"和 targetSdkVersion ="18"ListView 项目布局不同

android - 登录表单不会显示在我的 WebView 中

java - 我的服务立即在我的警报管理器中启动

Android:我的 BOOTCOMPLETED 接收类没有启动我的闹钟

Android:如何使用 AlarmManager 在特定时间查看电子邮件?

android - 为什么我的 Intent 在我的应用程序的设置中打开应用程序信息,而不是我传递给它的 Activity 类?

android - 在 android N 中打开 PDF 文件在空白页中显示黑色

java - 按 Realm 中的字符串大小过滤 - Android