【问题标题】:Context.startForegroundService() did not then call Service.startForeground() on Samsung devicesContext.startForegroundService() 没有在三星设备上调用 Service.startForeground()
【发布时间】: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


【解决方案1】:

在 1.4.4 中修复

修复了 ChatWidgetService 生命周期处理中的一个错误 导致 RemoteServiceException。

https://developer.zendesk.com/embeddables/docs/android-chat-sdk/releasenotes#version-1.4.4

【讨论】:

    猜你喜欢
    • 2021-05-31
    • 2017-11-09
    • 1970-01-01
    • 2019-01-09
    • 2018-03-29
    • 2018-03-04
    • 1970-01-01
    • 2019-09-17
    相关资源
    最近更新 更多