如何让我的Android应用程序始终在后台运行

时间:2017-03-23 23:34:20

标签: android

我想知道如何让我的Android应用在后台全天候运行以获得正确的定时通知。

4 个答案:

答案 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

可以使用

实现AlarmManager

https://developer.android.com/reference/android/app/AlarmManager.html

但是,您在后台运行应用程序的目的只是为了显示通知,您可以单独使用AlarmManager来安排它们。

答案 3 :(得分:0)

正如其他人所指出的那样,24/7的主动等待既不可取也不必要。

首先,如其他答案中所述,这会耗尽电池。

另一方面,你根本不能指望手机的24/7可用性让你的应用程序正常工作 - 太多可能出错(电池耗尽,用户关闭电话等)

我强烈建议您使用Firebase Cloud Messaging(推送通知);这可以以节能的方式可靠且廉价地向手机发送消息。