2016-08-09 66 views
-2

Ich benutze Reflektion, um eine Methode aufzurufen, die eine Aktivität mit Absicht starten muss. Wenn ich die Methode aufrufen, erhalte ich die Ausnahme "getApplicationContext für eine Nullobjekt-Referenz". Ich möchte keinen Kontextparameter an die Methode mit dem Aufruf übergeben. Wie kann ich Absichten verwenden oder den Kontext abrufen? getbaseContext und getApplicationContext gibt null zurück. Ich kann keinen Kontextparameter übergeben, weil ich eine Methode aufgerufen habe, die nicht von mir geschrieben wurde.Kontexte und Absichten mit Reflektion verwenden

+0

„Ich will keinen Zusammenhang Parameter an die Methode mit dem invoke zu übergeben.“ - Wenn die Methode einen "Kontext" benötigt, müssen Sie ihr einen "Kontext" geben. Was ist das Problem, wenn man eine an deine Methode übergibt? –

+0

Bitte schreiben Sie mehr Code. Es ist schwierig, Ihr Problem anhand Ihrer Beschreibung zu verstehen. –

Antwort

2

du versuchen, den Kontext zu erhalten statisch:

private static Context context; 

public void onCreate() { 
    super.onCreate(); 
    MyApplication.context = getApplicationContext(); 
} 

public static Context getAppContext() { 
    return MyApplication.context; 
} 
+0

Entschuldigung habe ich nicht erwähnt, aber ich rufe eine Methode der Anwendung auf, die nicht von mir geschrieben wurde. –