`
Darar
  • 浏览: 87837 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

双卡双待手机[海信]挂断来电和指定卡去电实现

 
阅读更多
海双卡双待手机[海信]挂断来电和指定卡去电实现的技术调研信双卡手机拨打电话时,在启动拨打电话时,传递一个参数给系统,这样系统的可以根据该参数判断使用指定的卡:
 Intent i = new Intent();
 i.setAction(Intent.ACTION_CALL);
 i.setData(Uri.parse("tel:" + address));
 i.putExtra("subscription", type);// subscription 是名称,不可改变. type :1为gsm卡|0为电信卡
 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(i);


海信手机在挂断电话时,使用反射方法,获取endcall(int) 参数来挂断电话,
 try {
                TelephonyManager mTelephyMgr = (TelephonyManager)mContext.getSystemService(Context.TELEPHONY_SERVICE);
                Method getITelephonyMethod = mTelephyMgr.getClass().getDeclaredMethod("getITelephonyMSim");
                getITelephonyMethod.setAccessible(true);
                Object objITelephonyMSim = getITelephonyMethod.invoke(mTelephyMgr);
                Method intEndCall = objITelephonyMSim.getClass().getMethod("endCall", int.class);
                intEndCall.invoke(objITelephonyMSim, 1);//可挂断主/副卡来电(挂断当前来电)    
//              intEndCall.invoke(objITelephonyMSim, 0);//只能挂断副卡来电
                AVLog.d("block", "block the incoming call");
            } catch (Exception e) {
                e.printStackTrace();
            }


上面代码中之所以没有将注视的代码去掉是因为,经测试当endcall方法参数为1时,可以挂断主卡和副卡来电,参数为0时,只能挂断副卡来电.那么

intEndCall.invoke(objITelephonyMSim, 1);


以上一句话就是可以挂断两个卡的来电了. 移植项目中测试发现.打进电话测试: 广播接收到"android.intent.action.PHONE_STATE"这个action ,监听到此广播,再判断来电状态
TelephonyManager tm = (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);
int callState = tm.getCallState();//获取来电时状态


主卡来电时,上面代码通过,但是在副卡来电获取callState状态时,callState状态是0(PHONE_IDLE =0 电话挂断状态,PHONE_RINGRING = 1是响铃状态).那么继续猜测,副卡来电时,android系统的api方法getCallState()是不能获取副卡的来电状态的,这需要使用反射方法获取主卡和副卡的状态,只要有来电,一定有一个卡的callstate是PHONE_RINGRING状态,代码如下
        Method getITelephonyMethod = mTelephyMgr.getClass().getDeclaredMethod("getITelephonyMSim");
        getITelephonyMethod.setAccessible(true);
        Object objITelephonyMSim = getITelephonyMethod.invoke(mTelephyMgr);
        Method intEndCall = objITelephonyMSim.getClass().getMethod("getCallState", int.class);
        int state1 = (Integer) intEndCall.invoke(objITelephonyMSim, 0);//主卡状态
        int state2 = (Integer)intEndCall.invoke(objITelephonyMSim, 1);//副卡状态
        if (state1 == 1 || state2 ==1) {
        //来电话了,执行拒接逻辑
        }
分享到:
评论

相关推荐

    海信 C558 手机 驱动 手机小秘书 摄像头

    标题中的“海信 C558 手机 驱动 手机小秘书 摄像头”表明这是关于海信C558型号手机的相关软件和驱动程序,特别是针对手机小秘书应用和摄像头功能的。手机小秘书通常是一个管理工具,用于帮助用户安排日程、设置提醒...

    HX194E-9SY 海信电子三相多功能电力仪表说明书.doc

    - **电能测量**:实现四象限电能计量,包括有功电能和无功电能。 - **显示方式**:提供FSTN LCD或LED显示。 ##### 电源与输出特性 - **电源**:工作电压范围为AC220V(默认配置),也可选配AC/DC80~265V,最大功耗...

    海信手机简易刷机

    本文将详细介绍海信手机简易刷机的基本概念、准备工作以及具体的刷机步骤,帮助大家更好地理解和操作。 #### 一、刷机基本概念 刷机是指将新的操作系统或固件安装到移动设备上的过程。通过刷机,用户可以根据个人...

    天翼海信手机E8驱动

    海信E8手机驱动程序是连接海信E8设备与计算机的重要桥梁,它使得用户能够通过USB线在电脑上管理手机、传输数据、安装软件、进行固件升级等操作。以下将详细介绍这些驱动的主要功能以及如何正确安装和使用。 1. **...

    海信f58 手机驱动以及联机软件

    海信F58手机是一款由海信公司推出的智能手机,它可能具有特定的硬件配置和操作系统需求,因此在进行一些高级操作或需要与电脑交互时,可能需要用到专用的驱动程序和联机软件。在这个主题中,我们将重点讨论"海信F58...

    海信ip903h(全志h3)完美卡刷教程固件

    "海信IP903H(全志H3)完美卡刷教程固件"提供了这样的解决方案,帮助用户通过卡刷方式升级设备的固件。以下是关于这个主题的详细知识: 1. **全志H3芯片**:全志H3是一款四核ARM Cortex-A7处理器,常见于各种入门级...

    海信 c558 手机 驱动 及 工具

    海信C558是一款由海信公司推出的智能手机,它为用户提供了一系列的驱动程序和工具,以便更好地管理和维护设备。这些驱动程序和工具是连接手机与计算机之间的重要桥梁,能够帮助用户实现数据传输、系统升级、故障排查...

    海信C系列手机解锁软件

    海信C系列手机解锁软件是专为解决海信品牌手机被锁定问题而设计的一款实用工具。这款软件的主要功能是帮助用户解除手机的屏幕锁、网络锁或其他安全锁,让用户无需求助于专业人士就能自行解决手机锁定问题,从而节省...

    20210416-申万宏源-海信家电-000921-综合白电领军企业,混改落地加速释放经营活力.pdf

    海信家电作为综合白电行业的领军企业,其发展动态和行业地位备受市场关注。本份证券研究报告详细分析了海信家电的业务结构、市场表现以及未来发展趋势,并对公司进行投资评级。 首先,海信家电在经历了一系列重组与...

    安卓手机 海信EG906

    海信EG906是一款基于安卓系统的智能手机,其主要特点是支持多种网络制式,包括最初的中国电信CDMA网络以及后续能够开启的移动GSM网络。在使用这款手机时,用户可能会遇到只能使用C电信网络,而无法连接移动G网的问题...

    海信t96手机root文件

    海信T96手机是一款由海信公司推出的智能手机,它可能搭载了基于Android系统的操作系统。在Android系统中,"root"是指获取手机操作系统的最高权限,即超级用户权限。通过root,用户可以自由地对系统进行深度定制,...

    海信U8手机电脑驱动

    海信U8手机电脑驱动是连接海信U8手机与计算机的重要软件,它允许用户在PC上管理和操作手机,如传输文件、安装应用程序、备份数据、升级固件等。驱动程序是操作系统与硬件设备之间的桥梁,确保计算机能够识别并正确...

    海信s17手机forxp驱动

    海信S17手机ForXP驱动程序是专为海信S17 CDMA智能手机设计的一款USB驱动,主要用于解决用户在连接电脑时可能出现的通信问题。USB驱动是连接手机与计算机之间的桥梁,它允许用户通过USB数据线将手机与PC进行交互,...

    海信手机modem驱动

    本文将深入探讨海信手机Modem驱动的重要性和使用场景,以及它如何适配低端C网的hs-c177和hs-c199等型号。 首先,Modem驱动,全称为调制解调器驱动,是电脑操作系统识别并控制手机通信模块的软件。在海信手机中,这...

    海信电子HX194E-9SY液晶三相多功能电力仪表说明书

    该系列产品是一种具有可编程测量、显示、数字通讯和电能脉冲输出等多功能智能仪表,能够完成电量测量、电能计量、数据显示、采集及传输,可广泛...实现LCD现场显示和远程RS-485数字接口通讯,采用MODBUS-RTU通讯协议。

    海信HS-T830手机驱动

    海信HS-T830手机驱动是专门为海信HS-T830型号手机设计的一款重要软件组件,它在用户进行设备刷机或者进行其他高级操作时起到关键作用。驱动程序是计算机硬件与操作系统之间沟通的桥梁,对于手机来说,驱动程序能够...

    海信s17手机管理程序

    本文将详细介绍海信S17手机管理程序,帮助用户更好地理解和使用这款针对海信S17和F58手机的实用工具。 首先,我们要明确的是,海信S17手机管理程序是一款专为海信S17和F58型号手机设计的软件应用,其主要功能在于...

    海信救砖教程

    本教程旨在指导用户如何使用官方救砖教程和刷机工具对海信U8手机进行恢复和刷机。以下是教程的详细内容: 准备工作 在开始救砖和刷机之前,需要完成以下准备工作: 1. 准备读卡器和TF卡一张,注意TF卡需要为FAT...

    新版海信空调故障代码-海信空调故障代码表查询-海信中央空调故障代码大全.pdf

    本文档提供了海信空调的故障代码表查询和故障代码大全,涵盖了海信空调的各种故障代码、故障名称、故障原因和维修方法。该文档适用于海信空调的维修和使用人员,旨在帮助他们快速地诊断和解决海信空调的故障问题。 ...

Global site tag (gtag.js) - Google Analytics