我想在我的应用程序中打开 XMPPConnection 。为实现这一点,我想使用AlarmManager
在一定的时间间隔内重复打开连接。但我的困惑是我必须在何时何地发起AlarmService
。
问题1:如果我从AlarmService
开始LaunchActivity
,则不会多次安排?
问题2:如果我从任何其他AlarmService
或服务启动Activity
,如果用户强行杀死该应用会发生什么?
问题3:为同一AlarmService
创建PendingIntent
会替换它(或覆盖它),还是会将其安排为新的?
答案 0 :(得分:1)
您可以从启动活动开始待处理的意图。待处理意图的关键是时间,因此请将时间保存在UserPrefs
或local DataBase
中。并且在每次启动时,在您开始下一个待处理的意图之前,请致电alarmManager.cancel(pendingIntent);
以删除过期的意图。