Android: почему PhoneCallListener все еще жив после завершения активности?

я использую прослушиватель телефонных звонков в своей деятельности, но после завершения моей деятельности, после того, как пользователь позвонит, мой прослушиватель телефонных звонков не мертв и снова активизируется!! пожалуйста, помогите мне.

phoneListener = new PhoneCallListener();
telephonyManager = (TelephonyManager) 
            TransferActivity.this.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(phoneListener,  PhoneStateListener.LISTEN_CALL_STATE);

Класс PhoneCallListener:

private class PhoneCallListener extends PhoneStateListener {
    boolean isPhoneCalling = false;
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {

        if (TelephonyManager.CALL_STATE_RINGING == state) {
        }
        if (TelephonyManager.CALL_STATE_OFFHOOK == state) {
            isPhoneCalling = true;
        }
        if (TelephonyManager.CALL_STATE_IDLE == state) {
            if (isPhoneCalling) {
                isPhoneCalling = false;
                    Intent intent = getIntent();
                    startActivity(intent);
                }
            }
        }
    }
}

person Sabrina    schedule 26.07.2012    source источник
comment
Намерение намерение = getIntent(); startActivity(намерение); Почему вы звоните выше кода ??   -  person AAnkit    schedule 26.07.2012
comment
Отмените регистрацию слушателя в методе onPause().   -  person Adam Monos    schedule 26.07.2012


Ответы (2)


В документации говорится:

Чтобы отменить регистрацию слушателя, передайте объект слушателя и установите для аргумента событий значение PhoneStateListener#LISTEN_NONE (0)

Вот ссылка на документы.

person RaphMclee    schedule 26.07.2012

Вы пытались установить для прослушивателя значение null как,

telephonyManager.listen(null,  PhoneStateListener.LISTEN_NONE);
person Lalit Poptani    schedule 26.07.2012
comment
telephonyManager.listen(phoneListener, PhoneStateListener.LISTEN_NONE); Вам нужно передать тот же слушатель, который вы регистрируете - person Maor Hadad; 09.11.2020