[问题] 监听电话

楼主: gn00618777 (非常念旧)   2018-02-23 15:33:33
我写了一个监听电话功能在我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:00
onCreate的new TelListener用变量存,telM.listen(变量,..)onDestroy不要在new TelListener,使用onCreate中使用的变量试试看
楼主: gn00618777 (非常念旧)   2018-02-23 16:53:00
这样可行耶! why???疴 因为new 是两个不同内存
作者: erty0402 (缺副驾驶)   2018-02-23 19:51:00
从recent app移掉并不能保证 ap会砍掉
作者: andy2151 (阿鸿)   2018-02-26 12:16:00
你是不是把Apk跟App搞混了

Links booklink

Contact Us: admin [ a t ] ucptt.com