我正在创建一个应用程序,在收到某个数字的文本后,使用AlarmManager启动重复警报。 AlarmReciever播放闹钟声30秒,然后闹钟每五分钟重复一次。我希望在用户关闭并重新启动应用程序时取消AlarmManager,但我必须使用相同的alarmIntent实例取消它。
答案 0 :(得分:1)
我必须使用相同的alarmIntent实例来取消它。
不,您必须使用等效的PendingIntent
取消它。 “等价”,我的意思是:
getActivity()
等方法的第二个参数)Intent
“等价Intent
”,我的意思是所有路由信息都是相同的(组件,操作,数据,MIME类型,类别)。额外功能并不重要。
您需要在持久数据存储(例如,文件)中保留足够的信息,以便能够创建等效的PendingIntent
以传递到cancel()
上的AlarmManager
。