我正在B4A(而不是android studio)上编写一个android应用程序,因为我更了解该语言。
但是我认为问题与操作系统有关。
在我的应用程序中,我有一个名为“跟踪器”的服务,该服务可通过GPS和FusedLocationProvider跟踪位置。
每隔5分钟服务会开始跟踪,并在到达位置后关闭GPS。然后重复此例程。
(停止GPS可以避免消耗过多的电池电量,通常,GPS停留在不到10秒的位置即可获取位置,然后关闭5分钟)。
问题在于操作系统会杀死所有服务(包括启动器)。
我将手机放在桌子上了几个小时,有时OS不会在数小时内终止服务,而其他时候它会在30分钟后将其杀死(随机)。
Tracker服务,它是一个ForegroundService 并且计划每10分钟重新启动一次(但正如我所说,经过几个小时后,它不再这样做了。)
出什么问题了??我快疯了
我尝试添加此权限:
AddPermission(android.permission.FOREGROUND_SERVICE)
AddPermission(android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
我也试图将其声明为STICKY_SERVICE