`
mickey_hou
  • 浏览: 246224 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android电话状态抓取—1

阅读更多
public class PhoneCallListener extends PhoneStateListener
    {
        @Override
        public void onCallStateChanged(int state, String incomingNumber)
        {
            mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
            Log.v(this.getClass().getName(), "onCallStateChanged-state: " + state);
            Log.v(this.getClass().getName(), "onCallStateChanged-incomingNumber: " + incomingNumber);
            switch (state)
            {
                case TelephonyManager.CALL_STATE_IDLE:
                   
                    mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
                    break;
                   
                case TelephonyManager.CALL_STATE_OFFHOOK:
                    endCall();
                    //CALL_STATE_OFFHOOK;
                    break;
                   
                case TelephonyManager.CALL_STATE_RINGING:
                   
                    if ("123456".equals(incomingNumber))
                    {
                        //mTelephonyService.endCall();
                        endCall();
                    }
                    else
                    {
                        mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
                    }
                    break;
                   
                default:
                    break;
            }
            super.onCallStateChanged(state, incomingNumber);
        }
       
        @Override
        public void onDataConnectionStateChanged(int state)
        {
            Log.v(this.getClass().getName(), "onDataConnectionStateChanged-state: " + state);
            super.onDataConnectionStateChanged(state);
        }
       
        @Override
        public void onDataConnectionStateChanged(int state, int networkType)
        {
            Log.v(this.getClass().getName(), "onDataConnectionStateChanged-state: " + state);
            Log.v(this.getClass().getName(), "onDataConnectionStateChanged-networkType: " + networkType);
            super.onDataConnectionStateChanged(state, networkType);
        }
       
        @Override
        public void onServiceStateChanged(ServiceState serviceState)
        {
            Log.v(this.getClass().getName(), "onServiceStateChanged-ServiceState: " + serviceState);
            super.onServiceStateChanged(serviceState);
        }
       
        @Override
        public void onSignalStrengthChanged(int asu)
        {
            Log.v(this.getClass().getName(), "onSignalStrengthChanged-asu: " + asu);
            super.onSignalStrengthChanged(asu);
        }
       
        @Override
        public void onSignalStrengthsChanged(SignalStrength signalStrength)
        {
            Log.v(this.getClass().getName(), "onSignalStrengthsChanged-signalStrength: " + signalStrength);
            super.onSignalStrengthsChanged(signalStrength);
        }
    }
分享到:
评论

相关推荐

    Spreadtrum_Android_8805和8810抓取LOG环境安装和方法V1.0.5.doc

    1. **Android log**:这部分日志包含了Android系统的运行信息,包括应用日志、系统服务日志等,可以通过`adb logcat`命令来抓取。 2. **Kernel log**:内核日志提供了操作系统层面的事件信息,如驱动程序、内存管理...

    使用Android实现联网

    1. **Android SDK中的网络组件** - `java.net`包:提供了基本的网络通信类,如Socket和ServerSocket,以及对HTTP协议的支持。 - `java.io`包:尽管不直接涉及网络,但提供了输入/输出流,这对于处理网络数据流至关...

    CELLID_Android

    1. TelephonyManager类:提供对手机通话状态和电话功能的访问,包括getCellLocation()方法,它可以返回一个GsmCellLocation或CdmaCellLocation对象,其中包含了CELLID。 2. AndroidManifest.xml:需要在文件中添加...

    Android 恶意代码

    研究者们通常会使用杀毒软件公司发布的恶意代码公告、安全研究员的分析报告、相关博客文章等资源,或者直接从Android应用市场中抓取样本。通过这些手段,研究者们收集了大量恶意软件,并对它们进行了系统性的分析,...

    Spreadtrum Android 8810_6820 FAQ 1207

    **2.3 如何抓取Android log** - **抓取方法**: 1. 连接设备到PC。 2. 执行`adb logcat`命令来抓取日志。 **2.4 如何抓取Modem arm log** - **抓取方法**: 1. 需要特定的工具或命令行接口来访问Modem的ARM...

    Spreadtrum Android 8810_6820 FAQ 1207.pdf

    - 使用如adb等工具抓取Android log是调试Android应用程序的基础。 **2.4 如何抓取Modem arm log** - 抓取Modem arm log对于分析通信相关的问题至关重要。 **2.5 如何抓取Mocordsp log** - Mocordsp log包含了DSP...

    通讯录(头像,名字,号码获取,黑名单添加及自动重拨)

    在Android或iOS系统中,开发者可以利用Contacts API来读取和写入联系人信息,包括名字和电话号码。同时,为了保护用户隐私,访问通讯录权限需要用户的明确授权。 3. **黑名单添加**:黑名单功能允许用户阻止特定...

    SafeKeyBoard.zip

    6. 键盘状态管理:在实际应用中,键盘可能需要根据当前输入域的类型(如密码、电话号码等)动态改变其显示的内容。这需要维护一个键盘状态管理器,根据上下文环境切换键盘布局。 7. 安全性考虑:"SafeKeyBoard" 这...

    MTK android 问题

    ### MTK Android 问题解析与解决方案 #### 一、牙买加卡片问题及解决方法 **问题描述**:用户在使用牙买加地区的SIM卡时,可能会遇到无法正确显示Delivery Report的情况。 **解决方法**: - **分析原因**:此类...

    Tasker_Pro_v5.9.2_beta3.apk

    * 3RD派对:Android通知程序,Astrid,BeyondPod,JuiceDefender数据/切换,温和警报,NewsRob,OfficeTalk,SleepBot,SMS Backup +,TeslaLED,WidgetLocker ******状态******飞机模式,BT已连接,日历输入,对接...

    安卓版的学校办公资源管理 已修改.doc

    1. 开发语言:项目可以选择Java或Kotlin作为主要编程语言,这两种语言在Android开发中非常常用且成熟。 2. 数据库:推荐使用SQLite作为本地数据库存储资源信息,对于大型数据操作,可以考虑结合云服务如Firebase或...

    Tasker Pro 5.7.0.apk

    *媒体:媒体按钮事件(抓取),媒体播放器控制,音乐文件/目录,播放/前进/后退/停止,照片/系列/时间系列,录制音频,录制音频停止,铃声,扫描卡 * MISC :(广播)动作意图,组件意图,获取位置,GPS状态(或...

Global site tag (gtag.js) - Google Analytics