PhoneStateListener一般用于TelephonyManager的监听

private class MyPhoneStateListener extends PhoneStateListener {public MyPhoneStateListener() {}public void onCallStateChanged(int state, String incomingNumber) {switch (state) {case TelephonyManager.CALL_STATE_IDLE://progressbreak;case TelephonyManager.CALL_STATE_RINGING://progressbreak;default:break;}}}

TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);mTelephonyMgr.listen(new MyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);

这样设置问题就来了,第一次CALL时正常,第二次CALL会执行上次的listen,简单方法

mTelephonyMgr.getCallState() 

就行了。

更多相关文章

  1. Android实现模拟点击的一种方法
  2. Android scrollview嵌套listview 滑动事件冲突的解决方法
  3. Android Studio sync 失败解决方法
  4. Android全屏的两种方法
  5. Android PackageManager 卸载包的方法

随机推荐

  1. SqlServer表死锁的解决方法分享
  2. 在SQL查询中使用LIKE来代替IN查询的方法
  3. 去掉前面的0的sql语句(前导零,零前缀)
  4. sqlserver 多库查询 sp_addlinkedserver
  5. sqlserver 三种分页方式性能比较[图文]
  6. SQL学习笔记七函数 数字,日期,类型转换,空值
  7. SQL学习笔记八 索引,表连接,子查询,ROW_NUMB
  8. SQL学习笔记六 union联合结果集使用
  9. SQL学习笔记五去重,给新加字段赋值的方法
  10. SQL学习笔记四 聚合函数、排序方法