ANR - Context.StartForegroundService

时间:2018-03-11 16:24:15

标签: android

我有一个有前台服务的应用程序,我偶尔会得到这个ANR:

Context.startForegroundService()然后没有调用Service.startForeground()

但是,我检查了我的代码,而且我不会在任何地方拨打startForegroundService()。将我的服务绑定到主Activity时只有StartService。

还有其他可以调用Context.StartForegroundService()的内容吗?

我已经尝试通过在我的服务onCreate和onStartCommand中添加startForeground来缓解这个问题。但它仍然会继续弹出。

编辑:以下是合并的清单服务:

     <service
        android:name="com.squareup.leakcanary.internal.HeapAnalyzerService"
        android:enabled="false"
        android:process=":leakcanary" />

     <service
        android:name="com.squareup.leakcanary.DisplayLeakService"
        android:enabled="false"
        android:process=":leakcanary" />
      <service
            android:name="com.google.firebase.messaging.FirebaseMessagingService"
            android:exported="true" >
            <intent-filter android:priority="-500" >
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
      </service>
      <service
            android:name="com.google.firebase.iid.FirebaseInstanceIdService"
            android:exported="true" >
            <intent-filter android:priority="-500" >
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
      </service>
      <service
            android:name="com.google.android.gms.measurement.AppMeasurementJobService"
            android:enabled="true"
            android:exported="false"
            android:permission="android.permission.BIND_JOB_SERVICE" />

      <service
            android:name="com.google.android.gms.measurement.AppMeasurementService"
            android:enabled="true"
            android:exported="false" />

1 个答案:

答案 0 :(得分:0)

startForegroundService(Intent service)abstract方法。 与startService(Intent)类似,但隐含承诺,一旦服务开始运行,服务将调用startForeground(int, android.app.Notification)see here