远程绑定服务是否获得与其绑定的进程的前台关联性?

时间:2019-01-27 10:14:24

标签: android service ipc foreground-service

我有一个具有两个流程的应用程序。我们称它们为“主”和“远程”。两者都有服务。主流程服务是前台服务(带有通知)。远程服务绑定到主进程,但本身不是前台(没有通知,没有对startForeground的调用)。

问题是,由于绑定到前台进程,Android是否会考虑使用远程服务前台?

我试图将这些信息从adb中移出,但据我所知,信息不存在:

* ServiceRecord{eb553a7 u0 com.example.app/.remote.remoteProcess.ipcCommunication.RemoteProcessService}
    intent={cmp=com.example.app/.remote.remoteProcess.ipcCommunication.RemoteProcessService}
    packageName=com.example.app
    processName=com.example.app:remote
    baseDir=/data/app/com.example.app-2/base.apk
    dataDir=/data/user/0/com.example.app
    app=ProcessRecord{d194a7f 11618:com.example.app:remote/u0a222}
    createTime=-8m5s459ms startingBgTimeout=--
    lastActivity=-45s353ms restartTime=-7m29s395ms createdFromFg=true
    startRequested=true delayedStop=false stopIfKilled=false callStart=true lastStartId=11
    Bindings:
    * IntentBindRecord{608134d CREATE}:
      intent={cmp=com.example.app/.remote.remoteProcess.ipcCommunication.RemoteProcessService}
      binder=android.os.BinderProxy@1dfde02
      requested=true received=true hasBound=true doRebind=false
      * Client AppBindRecord{9825313 ProcessRecord{8cb8fdb 11552:com.example.app/u0a222}}
        Per-process Connections:
          ConnectionRecord{40c25cb u0 CR com.example.app/.remote.remoteProcess.ipcCommunication.RemoteProcessService:@5a6e89a}
    All Connections:
      ConnectionRecord{40c25cb u0 CR com.example.app/.remote.remoteProcess.ipcCommunication.RemoteProcessService:@5a6e89a}

1 个答案:

答案 0 :(得分:1)

我相信您正在寻找的答案是here

  

如果满足以下任一条件,则认为该应用位于前台:

     

...另一个前景应用程序通过绑定到其中一项服务或利用其内容提供商之一而连接到该应用程序...