So erhalten Sie das Anwendungsfenster von android.app.ApplicationAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 So erhalten Sie das Anwendungsfenster von android.app.Application

Post by Anonymous »

Ich entwickle eine Android-Bibliothek, die alle Berührungsereignisse protokollieren kann.

Ich kann das tun, indem ich den Window-Rückruf überschreibe durch:

Code: Select all

//set Window.Callback for getting touch event
final Window window = context.getWindow();
final Window.Callback localCallback = window.getCallback();
window.setCallback(new MyWindowCallback(localCallback));
Ich entwickle eine Bibliothek, also brauche ich eine Möglichkeit, den Anwendungskontext abzurufen, um das Fenster per context.getWindow() abrufen zu können. Ich habe einen Lösungsvorschlag gefunden:

Code: Select all

private static Application getApplicationContext() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
Context context;
final Class activityThreadClass =
Class.forName("android.app.ActivityThread");
final Method method = activityThreadClass.getMethod("currentApplication");
context = (Application) method.invoke(null, (Object[]) null);
Log.d(tag_, "Context is " + context);
application = (Application)context;
return application;}
aber das gibt android.app.Application zurück und irgendwie muss ich Aktivität von dieser zurückgegebenen Instanz abrufen, weil ich getWindow() nur für die Aktivitätsinstanz aufrufen kann.

Die Frage ist also, wie bekomme ich die Aktivitätsinstanz von der zurückgegebenen Anwendungsinstanz?

Danke

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post