を拡張するクラスがあります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()
たが、これは null ポインター例外をスローします。
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
これを使用して罰金を作成できます..
何か案は?