android 通话状态

简介: 引用:http://blog.chinaunix.net/uid-25370280-id-2941384.html 思路:就是一个监听,很简单代码如下你自己试试:private class EndCallListener extends PhoneStateListener {          ...

引用:http://blog.chinaunix.net/uid-25370280-id-2941384.html

思路:就是一个监听,很简单
代码如下你自己试试:
private class EndCallListener extends PhoneStateListener {
            boolean flag =false ;
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
                //铃声状态
                AudioManager aui =(AudioManager) CallActivity.this.getSystemService(Context.AUDIO_SERVICE);
                
                switch(state)
                {
                case TelephonyManager.CALL_STATE_IDLE://闲置或结束电话
                        aui.setMode(AudioManager.RINGER_MODE_NORMAL);
                        if(flag){
                                flag= false ;
                                Toast.makeText(CallActivity.this, "通话结束", Toast.LENGTH_LONG).show();
                                
                        }else{
                                Toast.makeText(CallActivity.this, "闲置", Toast.LENGTH_LONG).show();
                        }
                        break;
                case TelephonyManager.CALL_STATE_OFFHOOK://通话中
                        flag= true ;
                        Toast.makeText(CallActivity.this, "通话中", Toast.LENGTH_LONG).show();
                        break ;
                case TelephonyManager.CALL_STATE_RINGING://来电
                        
                        Toast.makeText(CallActivity.this, "来电", Toast.LENGTH_LONG).show();
                        call_incom(incomingNumber,aui);
                        break;
                
                }
        }

在activity的onCreate中:
EndCallListener callListener = new EndCallListener();
                TelephonyManager mTM = (TelephonyManager)CallActivity.this.getSystemService(Context.TELEPHONY_SERVICE);
                mTM.listen(callListener, PhoneStateListener.LISTEN_CALL_STATE);

相关文章
|
3月前
|
Web App开发 网络协议 Android开发
Android平台一对一音视频通话方案大比拼:WebRTC VS RTMP VS RTSP,谁才是王者?
【9月更文挑战第4天】本文详细对比了在Android平台上实现一对一音视频通话时常用的WebRTC、RTMP及RTSP三种技术方案。从技术原理、性能表现与开发难度等方面进行了深入分析,并提供了示例代码。WebRTC适合追求低延迟和高质量的场景,但开发成本较高;RTMP和RTSP则在简化开发流程的同时仍能保持较好的传输效果,适用于不同需求的应用场景。
202 1
|
Web App开发 编解码 网络协议
Android平台一对一音视频通话方案对比:WebRTC VS RTMP VS RTSP
Android平台一对一音视频通话方案对比:WebRTC VS RTMP VS RTSP
382 0
|
Web App开发 网络协议 Java
android WebRtc 视频通话(P2P)
android WebRtc 视频通话(P2P)
922 0
android WebRtc 视频通话(P2P)
|
Java 机器人 Android开发
Android10.0(Q) 实现通话中播放音乐/通话背景音(答录机/魔音功能)
Android10.0(Q) 实现通话中播放音乐/通话背景音(答录机/魔音功能)
1031 0
|
Java Android开发
Android8.1 MTK平台 Dialer修改(通话常亮、按钮接听)
Android8.1 MTK平台 Dialer修改(通话常亮、按钮接听)
371 0
|
XML Java Android开发
Android6.0 源码修改之Settings音量调节界面增加通话音量调节
Android6.0 源码修改之Settings音量调节界面增加通话音量调节
97 0
|
XML 前端开发 Java
Android Kotlin/Java 动态设置 shape/drawable 等状态效果
      小菜最近遇到一个小需求,程序里面有个别页面,需要动态的调整某个页面的样式,包括一键变灰等效果。       以前页面是用 shape 和 drawable 之类实现的效果。
3845 0
|
Linux Android开发
【Android 逆向】ptrace 函数 ( ptrace 函数族 | 进程附着 | 进程脱离 | 进程数据读写权限 | 进程对应的主线程寄存器读写 | 单步调试 |ptrace 函数族状态转换 )
【Android 逆向】ptrace 函数 ( ptrace 函数族 | 进程附着 | 进程脱离 | 进程数据读写权限 | 进程对应的主线程寄存器读写 | 单步调试 |ptrace 函数族状态转换 )
304 0
【Android 逆向】ptrace 函数 ( ptrace 函数族 | 进程附着 | 进程脱离 | 进程数据读写权限 | 进程对应的主线程寄存器读写 | 单步调试 |ptrace 函数族状态转换 )
|
传感器 数据采集 编解码
【Android RTMP】RTMP 直播推流阶段总结 ( 服务器端搭建 | Android 手机端编码推流 | 电脑端观看直播 | 服务器状态查看 )(二)
【Android RTMP】RTMP 直播推流阶段总结 ( 服务器端搭建 | Android 手机端编码推流 | 电脑端观看直播 | 服务器状态查看 )(二)
499 0
【Android RTMP】RTMP 直播推流阶段总结 ( 服务器端搭建 | Android 手机端编码推流 | 电脑端观看直播 | 服务器状态查看 )(二)
|
Android开发 数据安全/隐私保护
安卓系统home键监听及系统锁屏状态监听___Android提高篇
安卓系统home键监听及系统锁屏状态监听___Android提高篇
482 0