首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适用于getSystemService的Android get NullPointerException

问适用于getSystemService的Android get NullPointerException
EN

Stack Overflow用户
提问于 2014-12-10 16:16:27
回答 1查看 1K关注 0票数 1

我想简单地创建一个Android通知类,以便在任何地方使用它,但是在这段代码中,我得到了notificationManager变量的NullPointerException错误:

代码语言:javascript
复制
    public class TsNotify extends Activity {
        private NotificationManager notificationManager;

        @Override
        protected void onCreate (Bundle savedInstanceState) {
            super.onCreate ( savedInstanceState );
            notificationManager = (NotificationManager) getSystemService ( Context.NOTIFICATION_SERVICE );
        }

        public void notify( String title ) {
           ...
           notificationManager.notify ( NOTIFICATION_ID, notification ); 
        }
    }

我将其更改为以下行,但此问题不能解决:

代码语言:javascript
复制
notificationManager = (NotificationManager) this.getSystemService ( Context.NOTIFICATION_SERVICE );

或

代码语言:javascript
复制
notificationManager = (NotificationManager) getBaseContext().getSystemService ( Context.NOTIFICATION_SERVICE );

notificationManager为空

EN

回答 1

Stack Overflow用户

发布于 2014-12-10 16:35:38

我建议更好的方法,不要扩展activity类,因为你需要总是启动那个activity,这样你的"oncreate“方法就会被调用,通知管理器会被初始化。有单独的类和应用程序上下文可用(在类扩展应用程序上创建,并在应用程序标签中添加android清单)。现在在这个类中,在你想要通知的地方编写覆盖的方法,比如图像通知,或者简单的文本通知,动作通知。

空指针异常可能是因为您未调用启动活动。而且你的方法也不是很干净。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27396151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档