NullPointerException:method 'android.content.BroadcastReceiver.onReceive' on a null object reference

简介: NullPointerException:method 'android.content.BroadcastReceiver.onReceive' on a null object reference

  最近在使用广播的时候遇到了这个问题,项目里面使用了极光推送,然后项目里有几个地方都需要写广播接收者去接收,所以我只在一个地方写了,然后其他的地方就是copy过去的,然后就报了这个错误,总的来说,这个错误是自己不细心造成,但是,找问题还是花了我一点时间的,所以也再次做一个记录。错误日志如下:


NullPointerException:method 'android.content.BroadcastReceiver.onReceive' on a null object reference

20191231142843746.jpg


一看就是报了空指针,但是并没有说明是在哪一行报错的,这就尴尬了,不过凭经验来看,就是调用了空数据,onReceive里面最容易空的,就是context了,但是debug打印了一圈,发现这里面代码并没有问题,于是我就重写了这部分代码,写的过程中才发现了问题,我自定义的类虽然继承了广播接收者,但是,因为注册和实例化是分开的,所以复制代码的时候少复制了一行,下次在遇到这类问题的时候,就自己去检查context和广播接受者是否实例化了。


所以,最后在写代码的时候,相关的代码最好写在同一个地方或者一个方法内,这样容易在报错的时候方便排查。如下:

//初始化和注册广播
private void initBroadcast(){
        updateAttendanceReceiver = new UpdateAttendanceReceiver();
        registerUpdateAttendanceBroadcast();
       }




相关文章
|
2月前
|
存储 消息中间件 人工智能
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
102 11
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
|
SQL 安全 Java
Android经典面试题之Kotlin中object关键字实现的是什么类型的单例模式?原理是什么?怎么实现双重检验锁单例模式?
Kotlin 单例模式概览 在 Kotlin 中,`object` 关键字轻松实现单例,提供线程安全的“饿汉式”单例。例如: 要延迟初始化,可使用 `companion object` 和 `lazy` 委托: 对于参数化的线程安全单例,结合 `@Volatile` 和 `synchronized`
328 6
|
数据库 Android开发 数据库管理
java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常
java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常
765 0
|
XML 缓存 API
【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
149 0
|
API Android开发
android setTag (int key, Object tag)使用
android setTag (int key, Object tag)使用
231 1
|
存储 Android开发
Android 高版本 packageManager.getPackageArchiveInfo 总是返回null
Android 高版本 packageManager.getPackageArchiveInfo 总是返回null
540 1
|
JavaScript
[Vue warn]: Method “components“ has type “object“ in the component definition. Did you reference the
[Vue warn]: Method “components“ has type “object“ in the component definition. Did you reference the
|
Ruby
浅谈Ruby中的block, proc, lambda, method object的区别
浅谈Ruby中的block, proc, lambda, method object的区别
193 0
|
JSON Android开发 数据格式
Android:解析Json异常 Expected a string but was BEGIN_OBJECT at
今天解析后端数据时,发现了这个报错:Expected BEGIN_OBJECT but was STRING at 看来是自己哪儿解析错误了。 因为数据的特殊性,后端返回的Json串里面可能还会有Json数据,可能嵌套了三次层,
|
26天前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
167 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

热门文章

最新文章