监听手机来电
来源:互联网 发布:kali linux ddos攻击 编辑:程序博客网 时间:2024/04/28 22:54
当来电话时,手机会显示对方的电话号,当接听电话时,会显示当前的通话状态。在这其间存在两个状态:来电状态和接听状态。如果在应用程序中要监听这两个状态,并进行一些其他的处理,就需要使用电话服务(TelephonyManager对象)。
本例通过TelephonyManager对象监听来电状态和接听状态,并在相应的状态显示一个Toast提示信息框。如果是来电状态,会显示对方的电话号,如果是通话状态,会显示“正在通话...”信息。下面先来看看来电和接听时的效果,如图1
和图2所示。
要想获得TelephonyManager对象,需要使用Context.TELEPHONY_SERVICE常量,代码如下:
其中MyPhoneCallListener类是一个电话状态监听器,该类是PhoneStateListener的子类,代码如下:
如果读者是在模拟器上测试本例,可以使用DDMS透视图的【EmulatorControl】视图来模拟打入电话。进入【EmulatorControl】视图,会看到如图8.7所示的界面。在【Incoming number】文本框中输入一个电话号,选中【Voice】选项,单击【Call】按钮,这时模拟器就会接到来电。如果已经运行本例,在来电和接听状态就会显示如图8.5和图8.6所示的Toast提示信息。
本例通过TelephonyManager对象监听来电状态和接听状态,并在相应的状态显示一个Toast提示信息框。如果是来电状态,会显示对方的电话号,如果是通话状态,会显示“正在通话...”信息。下面先来看看来电和接听时的效果,如图1
和图2所示。
要想获得TelephonyManager对象,需要使用Context.TELEPHONY_SERVICE常量,代码如下:
view sourceprint?
1TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
2MyPhoneCallListener myPhoneCallListener = new MyPhoneCallListener();
3// 设置电话状态监听器
4tm.listen(myPhoneCallListener, PhoneStateListener.LISTEN_CALL_STATE);
其中MyPhoneCallListener类是一个电话状态监听器,该类是PhoneStateListener的子类,代码如下:
view sourceprint?
01public class MyPhoneCallListener extends PhoneStateListener
02{
03 @Override
04 public void onCallStateChanged(int state, String incomingNumber)
05 {
06 switch (state)
07 {
08 // 通话状态
09 case TelephonyManager.CALL_STATE_OFFHOOK:
10 Toast.makeText(Main.this, "正在通话...", Toast.LENGTH_SHORT).show();
11 break;
12 // 来电状态
13 case TelephonyManager.CALL_STATE_RINGING:
14 Toast.makeText(Main.this, incomingNumber,Toast.LENGTH_SHORT).show();
15 break;
16 }
17 super.onCallStateChanged(state, incomingNumber);
18 }
19}
如果读者是在模拟器上测试本例,可以使用DDMS透视图的【EmulatorControl】视图来模拟打入电话。进入【EmulatorControl】视图,会看到如图8.7所示的界面。在【Incoming number】文本框中输入一个电话号,选中【Voice】选项,单击【Call】按钮,这时模拟器就会接到来电。如果已经运行本例,在来电和接听状态就会显示如图8.5和图8.6所示的Toast提示信息。
- 监听手机来电
- 监听手机来电
- 监听手机来电
- android 手机来电监听
- Service-监听手机来电
- 监听手机来电PhoneStateListener
- 监听手机来电
- 监听手机来电
- iOS 监听手机来电状态
- Android TelephonyManager 监听手机来电
- Android 监听手机来电和去电
- Android开发之监听手机来电
- Android开发之监听手机来电
- Android中监听手机来电及状态
- TelephonyManager电话管理器、监听手机来电
- 初学Android,手机管理器之监听手机来电(六十三)
- Android获取手机状态和监听手机来电状态
- Android获取手机状态和监听手机来电状态
- hdu 2830 Matrix Swapping II
- Linux下批量替换文件内容方法
- 使用javamail发送和接收邮件
- 第四章 规则的命令
- linux那些事之我是U盘 笔记
- 监听手机来电
- Better History:更加精确方便地查看“历史记录”
- 高血压、心脑血管疾病症状、原因及疗法
- pad和phone的整合产品草图
- 万年历的汇编程序
- 十六进制的字符串转换到十六进制byte数据
- Android游戏开发框架libgdx的使用
- Hibernate关联映射 --- 多对多实例分析(双向关联)
- 最大子矩阵和