Как найти ссылку на действие из библиотеки и закрыть (finish ()) действие? - PullRequest
2 голосов
/ 02 апреля 2012

Сценарий:

Активность отображается. Он имеет текстовое поле и кнопку. Если вы введете специальный код в текстовое поле и нажмете кнопку, действие закроется после сравнения текстовой логики. Просто! Это было реализовано в OnCLick () действия.

Проблема:

У меня есть библиотека, которая обрабатывает все функции приемника SMS. Получатель удаленно прослушивает специальные входящие SMS. Как только приходит специальный смс, библиотечная функция (closeActivity) должна либо

  1. завершить () действие (описанное выше) сразу

  2. имитировать действие ввода текста + нажатие кнопки, получая ссылку на действие как-то?

У меня всё хорошо. что проще и безопаснее!

Мне просто нужно знать, как / где / какой код писать в библиотеке, чтобы она могла завершить () действие!

Предположение: активность всегда отображается, и система не суммирует ее автоматически!

Ответы [ 2 ]

0 голосов
/ 09 апреля 2012

Почему вы не пытаетесь использовать намерения? esp broadcast намерения. Запустите намерение вещания из библиотеки и зарегистрируйте его в своем действии / другой класс, зарегистрированный как получатель намерений. Вы можете легко получить экземпляр активности в приемнике вещания.

public static <Your activity class> activitySingleTon

и установите синглтон в соответствующем методе жизненного цикла.

OnCreate(){ activitySingleTon = this; }

и использовать в вещательном приемнике, как этот

if(<your activity class>.activitySingleTon)

{ <your activity class>.activitySingleTon.finish(); }

0 голосов
/ 02 апреля 2012

Может ли быть несколько экземпляров Действия? Если нет, сделайте его одиночным, а затем ссылайтесь на него откуда угодно с помощью MyActivity.getInstance ().

С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...