Android AlarmManager.setRepeating是幂等的吗?
在我的android应用程序中,我设置了一个要重复出现的警报,因此使用AlarmManager.setRepeating() 我不想跟踪报警是否是自己设置的(听起来像是个坏主意,在某个时候很容易失败),而且似乎没有API支持来检查特定的报警是否已经为给定的目的设置 因此,每次我的应用程序激活时,我都会悲观地重置警报:Android AlarmManager.setRepeating是幂等的吗?,android,alarmmanager,Android,Alarmmanager,在我的android应用程序中,我设置了一个要重复出现的警报,因此使用AlarmManager.setRepeating() 我不想跟踪报警是否是自己设置的(听起来像是个坏主意,在某个时候很容易失败),而且似乎没有API支持来检查特定的报警是否已经为给定的目的设置 因此,每次我的应用程序激活时,我都会悲观地重置警报: alarmManager.cancel(pendingIntent); ... alarmManager.setRepeating(..., pendingIntent); 问
alarmManager.cancel(pendingIntent);
...
alarmManager.setRepeating(..., pendingIntent);
问题:调用setRepeating()幂等元,即我是否需要显式取消()任何先前的报警,或者我是否可以安全地调用setRepeating()并完成它 各州:
如果已经安排了报警
出于同样的目的,它将
首先是取消
我知道这还不完全清楚,但他们说的是AlarmManager
将检查传递给setRepeating()
的PendingEvent
的PendingEvent
的。因此,只要您使用的PendingEvent没有更改,您就不需要取消任何以前的报警。(oldPendingEvent.equals(newPendingEvent)==true)
发件人:
关于这一点的问题-我正在开发一个应用程序,它允许用户设置多个警报,但所有警报都会触发相同的挂起事件。因此,似乎每一个新的将取消前一个。如果我在PendingEvent中使用唯一的requestCode,这会阻止重写吗,或者它们仍然会算作同一个PendingEvent?
equals(Object otherObj)
Comparison operator on two PendingIntent objects, such that true is returned then they both represent the same operation from the same package.