我寫了一個監聽電話功能在我APP內。參照網路上實作都可以實作出來。
但是當我滑掉APP時,打電話到我的手機上實APK竟然還可以偵測到。表示我APK
根本沒有release。我滑掉APK一下再開一次,打電話時會出現兩次,
再滑掉APK再開一次會出現三次依此類推。以下是我的code
MainActivity:
onCreate(){
telM = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telM.listen(new TelListener(this),
PhoneStateListener.LISTEN_CALL_STATE);
}
protected onDestroy(){
telM.listen(new TelListener(null), PhoneStateListener.LISTEN_NONE);
telM = null;
finish();
}
Telistener:
public class TelListener extends PhoneStateListener {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING://此时为响铃状态
//這邊出現好多次
LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
break;
case TelephonyManager.CALL_STATE_IDLE:
break;
}
super.onCallStateChanged(state, incomingNumber);
}
請問有沒有人遇過這種狀況呢?
以下LZN大已有幫我解答上面的疑問非常感謝。大致整理了一下我的錯誤還有額外的疑問
作者:
LZN (秋)
2018-02-23 16:30:00onCreate的new TelListener用變數存,telM.listen(變數,..)onDestroy不要在new TelListener,使用onCreate中使用的變數試試看