使用场景:

现在在做一个功能是这样的,如果有未读订单要求设备就要响铃/获取未读订单是个线程每隔几秒钟就会获取一次,如果有未读订单就会通知铃声响起,可是在通话中的时间后天通知了设备响铃就会在通话中有铃声,导致叠加一起了,很混乱……为了解决这个所以……

原文链接:http://my.oschina.net/jgy/blog/169447

获取电话服务

在启动Activity时间获取电话服务:代码如下:

TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);MyPhoneStateListener myPhoneStateListener = new MyPhoneStateListener();// 手动注册对PhoneStateListener中的listen_call_state状态进行监听通話telephonyManager.listen(myPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);

MyPhoneStateListener类

/** * 继承PhoneStateListener类,我们可以重新其内部的各种监听方法 * 然后通过手机状态改变时,系统自动触发这些方法来实现我们想要的功能 */public class MyPhoneStateListener extends PhoneStateListener {/** * @param state 通話狀態 * @param incomingNumber   手機號碼 */@Overridepublic void onCallStateChanged(int state, String incomingNumber) {switch (state) {case TelephonyManager.CALL_STATE_IDLE:Log.e("---------", "挂掉");break;case TelephonyManager.CALL_STATE_RINGING:Log.e("---------", "有来电,号码是:" + incomingNumber);break;case TelephonyManager.CALL_STATE_OFFHOOK:Log.e("---------", "通話中");default:break;}super.onCallStateChanged(state, incomingNumber);}}

相关权限

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

山人郏高阳亲测Android2.3/4.2/4.3 木有问题!!

❤犒劳一杯咖啡❤

OVER!!!

更多相关文章

  1. Android判断设备网络连接状态,并判断连接方式
  2. android 自定义状态栏和导航栏分析与实现
  3. 检测android的网络链接状态
  4. Android获取系统屏幕亮/灭屏状态
  5. ICS4.0.3 将声音设置中的震动和响铃默认为勾选
  6. Android VideoView状态跟踪和错误处理

随机推荐

  1. Android(安卓)控件备用收集
  2. Android开发之API应用指南
  3. Phonegap获取imei (修改phonegap官方提供
  4. Android学习:LogCat日志查询
  5. 简易版的 Spring 之如何实现 Setter 注入
  6. Android中的四大组件
  7. Android(安卓)补间动画 --旋转
  8. Android中sqlite事物控制
  9. Android开发之自定义Notification(源代码
  10. Work 工作子线程更新UI控件--解决Only th