• Ohone/android 监听电话


     OPhone系统提供了PhoneStateListener对象做为监听器的抽象,它是用于即时监测:服务状态、信号强度、消息等待指示等各方面有关电话功能状态变化的回调方法机制。想要监测来电呼叫,PhoneStateListener的onCallStateChanged方法是入口点,它把电话呼叫状态分为三种类型:空闲(IDLE)、振铃(RINGING)和摘机(OFFHOOK),其中振铃状态正是来电呼入的标志,因此具体的方法是:重新实现PhoneStateListener对象的onCallStateChanged方法,并关注RINGING状态。请看示例代码:
       
    1. class MyPhoneStateListener extends PhoneStateListener {  
    2.         public void onCallStateChanged(int state, String incoming) {  
    3.            switch (state) {  
    4.            case TelephonyManager.CALL_STATE_RINGING:  
    5.                // Ringing-振铃,有电话呼入  
    6.                Log.d(tag, "RINGING~");  
    7.                Log.d(tag, "获得来电号码:" + incoming);  
    8.                // TODO:YOU CODE  
    9.                break;  
    10.            case TelephonyManager.CALL_STATE_OFFHOOK:  
    11.                // Offhook-摘机,呼出电话已接通或呼入电话已接起  
    12.                Log.d(tag, "OFFHOOK~");  
    13.                break;  
    14.            case TelephonyManager.CALL_STATE_IDLE:  
    15.                // IDLE-空闲,结束通话状态  
    16.                Log.d(tag, "IDLE~");  
    17.                break;  
    18.            }  
    19.         }  
    20.     }  

  • 相关阅读:
    安装docker (centos7.6)
    idea docker docker-compose发布springboot站点到tomcat
    tomcat启动慢的解决办法
    skywalking6.3.0安装(centos7.6)
    RocketMQ集群安装 2主2从 console
    RocketMQ官方启动脚本不支持jdk11的修改
    python在windows上创建虚拟环境
    JVM之Java运行时数据区(线程共享区)
    Dijkstra算法和Floyd算法
    JVM之Java运行时数据区(线程隔离区)
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168239.html
Copyright © 2020-2023  润新知