通过服务监听电话的状态
2018-03-08 13:28
453 查看
在Android的API中,电话的状态分为:
TelephonyManager.CALL_STATE_IDLE 空闲状态
TelephonyManager.CALL_STATE_OFFHOOK 摘机,即是接听状态
TelephonyManager.CALL_STATE_RINGING 响铃状态
使用Service如何监听电话的这三个状态呢,很显然我们需要PhoneStateListener这个监听器:
注意监听电话状态信息的权限:<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
挂断后就又恢复到了TelephonyManager.CALL_STATE_IDLE空闲状态!
注意:
获取TelephoneManager 实例:
TelephoneManager tm = (TelephoneManager)getSystemService(TELEPHONE_SERVICE);
注册电话的监听:
tm.listen(new MyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);
TelephonyManager.CALL_STATE_IDLE 空闲状态
TelephonyManager.CALL_STATE_OFFHOOK 摘机,即是接听状态
TelephonyManager.CALL_STATE_RINGING 响铃状态
使用Service如何监听电话的这三个状态呢,很显然我们需要PhoneStateListener这个监听器:
import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class MyService extends Service { @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); // 获取tellphonemanager TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); // 注册电话状态监听器 tm.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE); } @Override public void onDestroy() { super.onDestroy(); } // 定义一个类用来监听电话的状态 private class MyPhoneStateListener extends PhoneStateListener { // 当电话设备状态发送改变时调用onCallStateChanged() @Override public void onCallStateChanged(int state, String incomingNumber) { // 具体判断一下电话的状态 switch (state) { case TelephonyManager.CALL_STATE_IDLE:// 空闲状态 System.out.println("空闲中..."); break; case TelephonyManager.CALL_STATE_OFFHOOK:// 接听状态 System.out.println("接听中..."); break; case TelephonyManager.CALL_STATE_RINGING:// 电话的响铃状态 System.out.println("响铃中..."); break; } } } }
注意监听电话状态信息的权限:<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
挂断后就又恢复到了TelephonyManager.CALL_STATE_IDLE空闲状态!
注意:
获取TelephoneManager 实例:
TelephoneManager tm = (TelephoneManager)getSystemService(TELEPHONE_SERVICE);
注册电话的监听:
tm.listen(new MyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);
相关文章推荐
- 【学习笔记】通过服务监听电话的呼叫状态
- 【学习笔记】通过服务监听电话的呼叫状态
- Android Service 手机启动服务 监听电话的状态 进行录音
- 安卓电话和网络开发全解:电话硬件检测、电话服务信息、sim信息、网络服务信息、数据连接和数据传输信息、电话状态监听
- android,服务,监听电话状态,实现电话录音
- android之通过phoneStateListener监听电话状态改变
- 服务中电话状态的监听
- android之通过phoneStateListener监听电话状态改变
- 在服务中监听电话的通话状态
- android之通过phoneStateListener监听电话状态改变
- 通过广播接收者(BroadcastReceiver)或守护线程启动服务,录音机监听电话
- android之通过phoneStateListener监听电话状态改变
- android音乐播放器监听电话状态
- android 2.1 监听电话状态并自动接听来电
- android服务Service----实现电话监听录音
- 监听android电话呼叫状态
- Android 通过广播监听USB连接状态的改变
- IOS开发 实现电话呼叫功能以及监听电话状态
- 通过Annotation实现对程序的运行状态监听,简单实现