Java 即使应用程序关闭,Android也会每天发送通知

Java 即使应用程序关闭,Android也会每天发送通知,java,android,notifications,alarmmanager,Java,Android,Notifications,Alarmmanager,我刚刚试用了AlarmManager,强制我的应用程序每天下午3点发送通知。但这只有在应用程序仍在后台时才有效。 当用户关闭应用程序时,AM不再工作。我可以做什么来代替AlarmManager来实现我想要的 但是,只有当应用程序仍处于后台时,此功能才有效 不,即使应用程序没有运行,它也能很好地工作,比如让Android终止进程,为其他应用程序释放内存 当用户关闭应用程序时,AM不再工作 如果“kills”是指用户在“设置”中点击应用程序的“强制停止”,则您的警报是非计划的,在用户手动运行应用程序

我刚刚试用了AlarmManager,强制我的应用程序每天下午3点发送通知。但这只有在应用程序仍在后台时才有效。 当用户关闭应用程序时,AM不再工作。我可以做什么来代替AlarmManager来实现我想要的

但是,只有当应用程序仍处于后台时,此功能才有效

不,即使应用程序没有运行,它也能很好地工作,比如让Android终止进程,为其他应用程序释放内存

当用户关闭应用程序时,AM不再工作

如果“kills”是指用户在“设置”中点击应用程序的“强制停止”,则您的警报是非计划的,在用户手动运行应用程序之前,应用程序不会再次运行(例如,点击主屏幕中的启动程序活动)

我听过一些报道,有些设备是由脑死亡的制造商制造的,当用户从设备提供的“任务管理器”中停止应用程序时,它们会执行与“强制停止”相同的操作。这是不幸的

在“杀死”的任何其他常规定义中,您的警报不受影响

我可以做什么来代替AlarmManager来实现我想要的


没什么。如果用户强制停止您的应用程序,则用户不希望您的应用程序运行,因此您的应用程序将不会运行。

您可以随时使用粘性后台服务发送通知。通过一个简单的运行服务,您可以安排任何任务。考虑使用WaKyIOLD来执行长时间运行的任务,这可能需要处理器不睡觉。还应考虑电池消耗。
问候。

但让我们举一个例子:WhatsApp。当我的手机上没有运行WhatsApp时,我仍然会收到WhatsApp中新消息的通知。这正是我想要做的,这怎么可能呢?@Phil:他们使用
AlarmManager
(直接或间接),或者接收推送通知(因为他们碰巧是一个消息应用程序)。如果用户强制停止WhatsApp,这两个应用程序中的任何一个都会被阻止,在其他情况下,这两个应用程序中的任何一个都会起作用。Mhm我也使用AlarmManager,我的手机上有一个按钮,按下后会显示所有已启动的应用程序,我可以简单地向右或向左滑动以关闭它们。如果我使用WhatsApp执行此操作,则仍会发送通知,如果我使用我的应用程序执行此操作,则不会发送通知anymore@Phil:然后你需要调试你的应用程序。您可以使用adb shell dumpsys alarm查看计划的
AlarmManager
事件。例如,可能是
AlarmManager
工作正常,但您在使用报警类型时犯了错误,例如未使用
WakefulIntentService
WakefulBroadcastReceiver
\u WAKEUP
报警一起使用。@Phil:这样做不可靠。您可以在和中阅读有关WakefulBroadcastReceiver的信息。My
WakefulIntentService
有文档,并且。