Завершение деятельности при отсоединении USB-кабеля

Мое приложение можно запустить двумя способами. 1. Ручной запуск. (Щелкнув значок лаунчера в меню лаунчера) 2. Автоматический запуск (путем подключения кабеля USB к устройству)

Приложение можно завершить двумя способами. 1. Завершение вручную (нажатие кнопки «Назад») 2. Автоматическое завершение (отключение кабеля USB)

Я написал широковещательный приемник, и он запустит приложение при подключении USB-кабеля. Теперь я заканчиваю свою деятельность, регистрируя действие "android.intent.action.ACTION_POWER_DISCONNECTED" в самом действии. Он работает нормально. Моя проблема заключается в том, что пользователь отключает USB-кабель, когда устройство в заблокированном состоянии не завершается. Приемник вещания, написанный в действии, не может получить действие, но я могу получить действие в приемнике вещания. Я не могу завершить действие с широковещательного приемника.

Что я делаю, так это логическую переменную, истинную в широковещательном приемнике, проверяющую onResume() действия и пытающуюся завершить действие onResume(). Это также не работает. Есть ли какое-нибудь решение.


person Kamalone    schedule 25.07.2012    source источник
comment
вызовите onDestroy() вместо finish()   -  person JiTHiN    schedule 25.07.2012


Ответы (1)


Теперь это исправлено. Я регистрировал получателя в onResume() и отменял его регистрацию в onPause(). Поэтому я не получу действия по отключению USB-кабеля, когда устройство находится в заблокированном состоянии. Потому что приложение перейдет к onPause(), когда пользователь заблокирует устройство. Теперь я регистрирую его в onCreate() и отменяю регистрацию в onDestroy(), чтобы он работал. ваше здоровье!!!

person Kamalone    schedule 25.07.2012