Как получить окно приложения из 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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