如何修复:没有任何消息的android.app.RemoteServiceException(与错误通知或广播无关)

时间:2018-02-15 10:04:06

标签: android android-7.0-nougat

我有android.app.RemoteServiceException(RSE),但没有任何消息。 我在播放控制台上看到下面的崩溃报告。当我因为不良通知或广播而得到RSE时,我收到了相关消息,但在这种情况下是黑色崩溃。

android.app.RemoteServiceException: 
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1813)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6781)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)

我开始主要在Android 7和三星设备上进行这些崩溃(大型)

Android versions and devices

我们遵循通知和广播的标准指南。

Target SDK: 25
Compile SDK: 26

我已经完成了与RemoteServiceException相关的stackoverflow问题,但无法找到RCA,因此发布了新问题。 以下是我检查过的问题,但无法找到RSE的解决方案

2 个答案:

答案 0 :(得分:2)

如果你已经使用 startforgroundservice() 启动了服务

然后你必须按照谷歌关于奥利奥的说明在服务 oncreate 中调用 startforground()。

答案 1 :(得分:0)

可能已经很晚了,但是您的应用中有内容提供商吗? 如果是,它们是否已在清单中正确声明? 我看到了API 26的ActivityThread类代码。发生错误的行是1813。

 case INSTALL_PROVIDER:
                handleInstallProvider((ProviderInfo) msg.obj);
                break;

下面的代码表明该应用程序无法发布内容提供程序并崩溃。

 try {
        ActivityManager.getService().publishContentProviders(
            getApplicationThread(), results);
    } catch (RemoteException ex) {
        throw ex.rethrowFromSystemServer();
    }

后!!但可能会帮助其他人调试案件。