AndroidRuntime: java.lang.RuntimeException: Unable to instantiate receiver

没有 public 声明 BroadcastReceiver 类就会报错误

21:24:38.852  4626  4626 E AndroidRuntime: Process: com.xxx.yyy, PID: 4626
09-22 21:24:38.852  4626  4626 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate receiver com.xxx.yyy.BootReceiver: java.lang.IllegalAccessException: java.lang.Class<com.xxx.yyy.BootReceiver> is not accessible from java.lang.Class<android.app.AppComponentFactory>
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:3775)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.app.ActivityThread.access$1400(ActivityThread.java:220)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1871)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:107)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:214)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7400)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: Caused by: java.lang.IllegalAccessException: java.lang.Class<com.xxx.yyy.BootReceiver> is not accessible from java.lang.Class<android.app.AppComponentFactory>
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at java.lang.Class.newInstance(Native Method)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.app.AppComponentFactory.instantiateReceiver(AppComponentFactory.java:110)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at androidx.core.app.CoreComponentFactory.instantiateReceiver(CoreComponentFactory.java:54)
09-22 21:24:38.852  4626  4626 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:3768)

修改为

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

    }
}
posted @ 2022-03-12 22:04  xiaomodecnblogs  阅读(217)  评论(0编辑  收藏  举报