我有一个要求,我需要通知非活动用户(7 天没有打开应用程序)。这意味着如果应用程序在后台运行 7 天或应用程序已被终止且 7 天未使用,则必须发送通知。
我遵循了使用AlarmManager
类似于此答案的算法,但如果应用程序被杀死,则不会发送通知。我尝试BroadcastReceiver
如下所示进行集成,但是当我从类中调用它时它会创建一个无限循环OnDestroy()
(CheckRecentRun
因为它会定期自我破坏)。此外,正如我从这个答案中了解到的那样,当应用程序被杀死时,onDestroy() 并不总是被调用。
public class TimerRestarterBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TimerRestarterBroadcastReceiver.class.getSimpleName(), "Service has stopped");
context.startService(new Intent(context, CheckRecentRun.class));
}
}
有没有更简单有效的方法来做到这一点?