【发布时间】:2019-04-12 13:59:32
【问题描述】:
我在三星设备上的后台服务工作存在问题。
Fatal Exception: android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground()
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1881)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
当然,启动服务后我调用 Service.startForeground() 并且在其他设备上没有问题,只有三星设备。
有人知道这个问题的原因和解决方法吗?
我在Zopim SDK https://chat.zendesk.com/hc/en-us/community/posts/360004395368-Crash-on-Android-8-in-Android-SDK-1-4-2发现了类似的问题
【问题讨论】:
-
可能在某些设备上调用
Service.startForeground()需要更多时间,因为这两个调用之间的时间是有限的 -
我也遇到了同样的问题,但我已经解决了。请在这里查看我的答案stackoverflow.com/questions/55571182/…。它可能会帮助你。您也可以在此处查看示例代码:filebin.net/p5jv54ow5vl4y4gt/ServiceSample.zip?t=p6vqlepa
-
您应该只使用前台服务并通知最新版本 (>8.0)。
-
@SrikarReddy,请看截图
-
分享你的逻辑对吗? “在启动服务后我调用 Service.startForeground()”是什么意思?您是否两次启动服务?如果您启动了一项服务,为什么还要再次调用 startForeground?
标签: android service background samsung-mobile