我想知道如何让我的Android应用在后台全天候运行以获得正确的定时通知。
答案 0 :(得分:1)
对于正确定时的通知,您可以使用推送通知或AlarmManager。
手机上应该避免主动等待,因为它会耗尽电池......
如果您必须在后台执行某些操作,请使用服务或IntentService。
答案 1 :(得分:0)
基本上,Android移动设备并非专为全天候运行而设计,但是:
为避免设备进入深度睡眠状态,您可以使用PowerManager.PARTIAL_WAKE_LOCK,但您的应用会耗尽大量电池。
要防止系统终止您的应用程序,您应该启动一个服务并从中调用startForeground。
答案 2 :(得分:0)
您可以通过实施
在后台运行应用服务 [在后台运行应用,无UI界面]
+
AlarmManager 或 WakeLock [反复检查您的应用是否有效,因为Android可能会终止内存处理]
您可以按照这些进行服务实施
https://www.tutorialspoint.com/android/android_services.htm
可以使用
实现AlarmManagerhttps://developer.android.com/reference/android/app/AlarmManager.html
但是,您在后台运行应用程序的目的只是为了显示通知,您可以单独使用AlarmManager来安排它们。
答案 3 :(得分:0)
正如其他人所指出的那样,24/7的主动等待既不可取也不必要。
首先,如其他答案中所述,这会耗尽电池。
另一方面,你根本不能指望手机的24/7可用性让你的应用程序正常工作 - 太多可能出错(电池耗尽,用户关闭电话等)
我强烈建议您使用Firebase Cloud Messaging(推送通知);这可以以节能的方式可靠且廉价地向手机发送消息。