Android 前台服务几天后停止请求位置更新

问题描述 投票:0回答:2

我有一个无尽的前台服务,请求位置每 10 秒更新一次,同时它会将此位置和其他信息发送到数据库。 我设法在应用程序处于后台或手机处于待机状态时更新位置。 该应用程序可以正常工作几天,但由于某种我无法理解的原因,当手机仍在运行时,位置以某种方式停止,并且服务仍然发送其他信息。

手机会停止请求位置但仍运行前台服务是否有原因?

该服务被设置为粘性服务,因此如果内存空间不足,它应该重新启动,并且在服务启动时会触发请求更新位置。

我的应用程序的“始终允许”位置设置处于启用状态,就像我说的,可以正常工作 2 到 3 天。

我正在考虑有关电池电量不足以运行位置请求的问题,但到目前为止没有发现任何关于该主题的信息。

我还尝试了唤醒锁来保持应用程序更新位置,但没有成功。

android android-service android-gps foreground-service location-updates
2个回答
1
投票

对于其他仍在寻找答案的人。我遇到了同样的问题。答案实际上就在文档中。

您必须按照文档中的说明设置 foregroundServiceType。

<service
          android:name=".MyMediaPlaybackService"
          android:foregroundServiceType="mediaPlayback"
          android:exported="false">
      </service>

通过以下链接查找更多信息:

https://developer.android.com/about/versions/14/changes/fgs-types-required


© www.soinside.com 2019 - 2024. All rights reserved.