【发布时间】:2021-11-22 15:19:30
【问题描述】:
我的应用程序类是使用 Kotlin 开发的(我使用 Dagger2)。在用 Java 编写的类中,我需要传递 Context,但我得到一个空指针异常。如何获取上下文?
我的应用程序类:
class App : DaggerApplication() {
override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
return DaggerAppComponent.factory().create(this)
}
}
我的 Java 方法:
public class NotificationUtil {
private static NotificationUtil instance;
public NotificationUtil() {
}
public static synchronized NotificationUtil getInstance() {
if (instance == null)
return new NotificationUtil();
return instance;
}
public void postNotificationSpam(StatusBarNotification sbn, int numberNotify) {
Context context = new App().getApplicationContext();
NotificationCompat.Builder ncb;
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
}
我正在尝试像这样在 Activity 中调用方法:
NotificationUtil.getInstance().postNotificationSpam(lstNotify.get(0).barNotification, lstNotify.size());
我的错误代码:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:109)
at com.package.cleanapp.service.NotificationUtil.postNotificationSpam(NotificationUtil.java:204)
【问题讨论】:
-
方法在哪里?在一个活动中还是什么
-
这是一个公共 NotificationUtil 类
标签: java android kotlin dagger-2 android-context