我想简单地创建一个Android通知类,以便在任何地方使用它,但在此代码中,NullPointerException
变量出现notificationManager
错误:
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 );
}
}
我将其更改为此行,但此问题无法解决:
notificationManager = (NotificationManager) this.getSystemService ( Context.NOTIFICATION_SERVICE );
或
notificationManager = (NotificationManager) getBaseContext().getSystemService ( Context.NOTIFICATION_SERVICE );
notificationManager
为NULL
答案 0 :(得分:1)
我想建议更好的方法,不要扩展活动类,因为你需要总是启动那个活动,这样你的“oncreate”方法就会被调用,并且通知管理器会被初始化。具有可用的应用程序上下文的单独类(在类扩展应用程序上创建,并在应用程序标记中添加android清单)。现在,在该类中,将覆盖的方法写入您希望使用图像通知或简单文本通知,动作通知等通知的位置。
空指针异常可能是因为你没有调用启动活动。你的方法也不是很干净。