Android 8.0 啓動 出錯 Not allowed to start service Intent { 包名} app is in background uid UidRecord

FATAL EXCEPTION: Thread-13
                                                                   Process: com.project.purse, PID: 12962
                                                                   java.lang.IllegalStateException: Not allowed to start service Intent { flg=0x20 cmp=com.android.browser/cn.jpush.android.service.DaemonService }: app is in background uid null
                                                                       at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1701)
                                                                       at android.app.ContextImpl.startService(ContextImpl.java:1657)
                                                                       at android.content.ContextWrapper.startService(ContextWrapper.java:644)
                                                                       at cn.jpush.android.service.l.run(Unknown Source:108)
                                                                       at java.lang.Thread.run(Thread.java:784)

 

 

 

錯誤原因是因爲:Android 8.0 不再允許後臺service直接通過startService方式去啓動。

所以改爲startForegroundService方式啓動即可。

但是在代碼中如果沒有使用到startService的方式時,還是會有這個啓動報錯的情況下,可能是另一種原因。

極光推送,jpush-android-2.1.3.jar版本的。

因爲項目是前兩年的項目了,一直維護更新至今,但最近老有用戶8.0版本的啓動報錯。但在測試機上6.0版本的卻沒有問題,去搜索後發現貌似是8.0不能startService方式去啓動服務,但是我代碼中又沒有使用。查看錯誤信息時,每次都是在Jpush下報的錯,想着是不是極光的原因,就把極光的初始化操作//掉了,是沒報錯了,但是極光還要用,就去更新了極光版本到jpush-android-3.1.6.jar

使用時也沒有報錯了。但是還要再調一遍,好麻煩啊!!!

在AndroidManifest.xml文件查看激光配置時,發現了一個Server服務:

<!-- since 1.8.0 option 可選項。用於同一設備中不同應用的JPush服務相互拉起的功能。 -->
<!-- 若不啓用該功能可刪除該組件,將不拉起其他應用也不能被其他應用拉起 -->
<service
    android:name="cn.jpush.android.service.DaemonService"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="cn.jpush.android.intent.DaemonService"/>

        <category android:name="com.project.purse"/>
    </intent-filter>
</service>

看備註是拉起其他極光相關的服務,就給<!--  -->掉了,sdk還是用的jpush-android-2.1.3.jar,啓動下,沒有報錯了。。。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章