我有一个 extends 类android.app.Application
,我用它来保持我的应用程序周围的全局状态。
我想在我的应用程序启动时启动一个服务,所以在这个GlobalState
类的构造函数中我尝试创建一个意图并启动一个服务,但我无法创建一个意图,因为我无法掌握Context
public GlobalState() {
Log.d(this.getClass().getSimpleName(), "Initialise DatabaseManager");
dbManager = new DatabaseManager(this);
Log.d(this.getClass().getSimpleName(), "Requesting start up of ContactsUpdater Service");
Intent i = new Intent(this, ContactsUpdater.class);
startService(i);
}
我试过使用getApplicationContext()
,但这会引发空指针异常。
java.lang.NullPointerException at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120) at android.content.ComponentName.(ComponentName.java:75) at android.content.Intent.(Intent.java:2551) at com .jameselsey.apps.cercademi.domain.GlobalState.(GlobalState.java:48) 在 java.lang.Class.newInstanceImpl(Native Method) 在 java.lang.Class.newInstance(Class.java:1479) 在 android.app。 Instrumentation.newApplication(Instrumentation.java:957) 在 android.app.Instrumentation.newApplication(Instrumentation.java:942) 在 android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:518)
我很困惑,我可以DatabaseManager
用这个来创造罚款..
有任何想法吗?