Ich habe meine Anwendung auf eine MultiDexApplication umgestellt, indem ich die Anweisungen in diesem Link - https://developer.android.com/studio/build/multidex.html - befolge.Die Verwendung von MultiDexApplication bewirkt, dass applicationContext null wird
Die Anwendung wird nun korrekt installiert, aber mein Anwendungskontext ist null. Hat jemand von euch schon einmal so etwas erlebt?
Lassen Sie mich wissen, wenn Sie Code-Beispiele benötigen, aber da die App abstürzt, weil es den Anwendungskontext nicht bekommen kann, kann ich mir keinen Code vorstellen, der das Problem erklären würde.
Erste mein Anwendungskontext wie folgt:
TrackerApplication.getContext();
public class TrackerApplication extends MultiDexApplication {
private static Context context;
public TrackerApplication() {
super();
context = this;
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
public static Context getContext() {
return context;
}
}
Dann, wenn ich rufe:
TrackerApplication.getContext().getSharedPreferences("MySettings",
Context.MODE_PRIVATE);
ich eine Nullpointer bekommen. Mein App-Kontext ist null.
Ein Test zur Erklärung des Problems wurde hinzugefügt. In meiner Auflegungs Tätigkeit habe ich diesen Code:
if (TrackerApplication.getContext() == null) {
Log.i("TEST", "Context is null");
} else {
Log.i("TEST", "What is the issue?");
}
LogCat immer Context is null
ausdruckt.
Wo ist Ihr Code und Logcat? –
Können Sie bitte Ihren Anwendungscode teilen, wo Sie den 'attachBaseContext' überschreiben? – ishmaelMakitla
@MD, siehe meine Bearbeitungen – Lunchbox