我有一项服务有时需要在后台运行。它需要保持BT连接,所以我不能让操作系统终止服务,否则我将失去BT连接。
当我需要将服务作为前台时,我使用适当的通知调用startForeground。一切都运行良好,除了在某些手机上,操作系统仍然会杀死这项服务。
我在这里阅读了其他一些问题,这一切似乎都没问题。这是来自sysdump的转储:
Proc # 1: prcp F/S/IF trm: 0 6566:com.testapp/u0a352 (fg-service)
* ServiceRecord{3d5bcd13 u0 com.testapp/.Services.TestService}
intent={cmp=com.testapp/.Services.TestService}
packageName=com.testapp
processName=com.testapp
baseDir=/data/app/com.testapp-1/base.apk
dataDir=/data/data/com.testapp
app=ProcessRecord{dce2526 6566:com.testapp/u0a352}
isForeground=true foregroundId=12 foregroundNoti=Notification(pri=0 contentView=com.testapp/0x1090089 vibrate=null sound=null defaults=0x0 flags=0x62 color=0xff029789 originalPackageName=N originalUserId=0 vis=PRIVATE)
createTime=-15m45s897ms startingBgTimeout=--
lastActivity=-15m45s897ms restartTime=-15m45s897ms createdFromFg=true
startRequested=true delayedStop=false stopIfKilled=false callStart=true lastStartId=1
GPS运行应用程序如何做到这一点?操作系统不会在运行期间终止应用程序。
我的应用与此相似。
由于