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);
}
}
}
}
}
解决方法:
文件说:
To un-register a listener, pass the listener object and set the events
argument to PhoneStateListener#LISTEN_NONE (0)
这是docs的链接.
标签:telephonymanager,android,phone-call,phone-state-listener 来源: https://codeday.me/bug/20191002/1843586.html