Как получить окно приложения из android.app.ApplicationAndroid

Форум для тех, кто программирует под Android
Anonymous
Как получить окно приложения из android.app.Application

Сообщение Anonymous »

Я разрабатываю библиотеку Android, которая должна иметь возможность регистрировать все события касания.

Я могу сделать это, переопределив обратный вызов Window:

Код: Выделить всё

//set Window.Callback for getting touch event
final Window window = context.getWindow();
final Window.Callback localCallback = window.getCallback();
window.setCallback(new MyWindowCallback(localCallback));
Я разрабатываю библиотеку, поэтому мне нужен какой-то способ получить контекст приложения, чтобы иметь возможность получить окно с помощью context.getWindow(). Я нашел одно решение, предлагающее:

Код: Выделить всё

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;}
но это возвращает android.app.Application, и мне каким-то образом нужно получить Activity из этого возвращенного экземпляра, потому что я могу вызвать getWindow() только для экземпляра Activity.

Итак, вопрос в том, как получить экземпляр Activity из возвращенного экземпляра приложения?

Спасибо

Подробнее здесь: https://stackoverflow.com/questions/397 ... pplication

Вернуться в «Android»