Android-приложение: что работает в фоновом режиме? - PullRequest
0 голосов
/ 02 августа 2011

Я почти закончил разработку приложения для Android. Я использую местоположение GPS и класс получателя смс. Я вижу, что если я нажму "ДОМ" (дом), он все еще работает. Я хотел бы закрыть прослушиватель GPS и SMS_RECEIVER, когда нажата домашняя кнопка.

Я использую затмение и окна.

Ответы [ 3 ]

1 голос
/ 02 августа 2011

Вы можете прослушивать События onStop и отключать слушателей.

Документация Activity.onStop

Примечание: возможно, onPause или onDestroy могут быть лучшими вариантами.Прочитайте жизненный цикл активности и выберите наилучшую точку для этого.

1 голос
/ 02 августа 2011

Использование кнопки «Домой» для выхода приведет к тому, что ваше приложение будет работать («дом», насколько я понимаю, больше похожа на кнопку «свернуть»). Используйте назад, чтобы закрыть полностью. Чтобы переопределить функциональность кнопки «Домой» для фактического выхода, используйте это:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_HOME:
            finish();
            return true;
        }
    }

    return super.onKeyDown(keyCode, event);
}
0 голосов
/ 02 августа 2011

Если вы используете приемники BroadCast (вы, вероятно, используете отдельные классы и объявляете приемники в AndroidManifest.xml), подумайте о том, чтобы сделать их членами класса вашей деятельности.Внутри класса Activity переопределяют onResume и onPause, регистрируют и отменяют регистрацию получателей там.

...