Android 尽管从非UI线程从TelephonyManager注销,但仍调用了侦听器
我使用以下代码注册了一个Android 尽管从非UI线程从TelephonyManager注销,但仍调用了侦听器,android,telephonymanager,Android,Telephonymanager,我使用以下代码注册了一个PhoneStateListener: mTm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); mTm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE | PhoneStateListener.LISTEN_CELL_LOCATION
PhoneStateListener
:
mTm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mTm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE
| PhoneStateListener.LISTEN_CELL_LOCATION
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
mTm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
并使用以下代码将其注销:
mTm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mTm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE
| PhoneStateListener.LISTEN_CELL_LOCATION
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
mTm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
但在极少数情况下,即使在取消注册后也会调用侦听器
重要提示:注册和注销都是从而不是UI线程的同一线程中完成的 问题: