3

アクティビティで通話リスナーを使用していますが、アクティビティを終了した後、ユーザーが電話をかけた後、通話リスナーは死んでおらず、アクティビティを再び盛り上げます!! 私を助けてください。

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);
                }
            }
        }
    }
}
4

2 に答える 2

6

リスナーをnullに設定してみましたか?

telephonyManager.listen(null,  PhoneStateListener.LISTEN_NONE);
于 2012-07-26T10:24:01.097 に答える
6

ドキュメントには次のように記載されています。

リスナーの登録を解除するには、リスナー オブジェクトを渡し、events 引数を PhoneStateListener#LISTEN_NONE (0) に設定します。

ドキュメントへのリンクは次のとおりです。

于 2012-07-26T10:50:34.940 に答える