
以下是我的代码段.
boolean alarmUp = (PendingIntent.getbroadcast(MainActivity.this,new Intent(MainActivity.this,AlarmReceiver.class),PendingIntent.FLAG_NO_CREATE) != null);if (alarmUp) { // alarm is set; do some stuff}Intent alarmIntent = new Intent(MainActivity.this,AlarmReceiver.class);final PendingIntent pendingIntent = PendingIntent.getbroadcast(MainActivity.this,alarmIntent,PendingIntent.FLAG_UPDATE_CURRENT);AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);manager.setInexactRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),10 * 1000,pendingIntent); 但是,alarmUp始终被设置为true.也就是说,无论我是否设置闹钟,每当我重新启动我的应用程序,它告诉我,alarmUp是真的(我正在通过制作一个吐司)来检查.
请帮忙我出错了.
解决方法 为了使此检查正常工作,您需要确保PendingIntent仅在报警设置时才存在.你可以做两件事来确保是这样的:1)测试代码时,请确保卸载应用程序,然后在测试之前重新安装应用程序.卸载您的应用程序将删除您的应用程序可能已创建的待处理的任何PendingIntent.
2)取消闹铃时,请确认您也取消了PendingIntent.你可以这样做
Intent alarmIntent = new Intent(MainActivity.this,AlarmReceiver.class);final PendingIntent pendingIntent = PendingIntent.getbroadcast(MainActivity.this,PendingIntent.FLAG_NO_CREATE);if (pendingIntent != null) { pendingIntent.cancel();} 总结 以上是内存溢出为你收集整理的android – 无法检查AlarmManager是否设置了闹钟全部内容,希望文章能够帮你解决android – 无法检查AlarmManager是否设置了闹钟所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)