Android 双卡双待支持检验及SIM信息获取

本文将从应用开发者的角度分析手机是否支持双卡双待,获取如果说希望自己做出支持双卡双待的系统,本文估计就不适合你了,能力不足,还望见谅啊
好了,为了迎合大众的需要,我们还是从普通开发者角度(不需要系统源码支持)开始吧!
原装的android系统不存在双卡这个东西,所以绝大多数的手机几乎都不存在支持双卡双待。一般情况来讲,我们不需要考虑这些问题,如果,确实有那个需要考虑到双卡双待的支持
首先,我们要知道双卡双待是MTK对于android的改动
其次我们要知道TelePhonyManager是对于电话服务的实现
[java]  view plain copy
  1. private TelephonyManager Mtm;
  2. Mtm=(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
[java]  view plain copy
  1. try {
  2. //调用系统函数getSimStateGemini(原装android系统不支持双卡双待,所以不会有这个函数),MTK添加此函数(双卡双待中国特色)
  3. method_ckeckDoublePhone=TelephonyManager.class.getMethod("getSimStateGemini",new Class[]{int.class});
  4. //如果成功调用到此函数,则实现双卡双待
  5. //获得SIM卡1
  6. phone_result_1=method_ckeckDoublePhone.invoke(Mtm, new Object[]{Integer.valueOf(0)});
  7. //获得SIM卡2
  8. phone_result_2=method_ckeckDoublePhone.invoke(Mtm, new Object[]{Integer.valueOf(1)});
  9. } catch (NoSuchMethodException e) {
  10. // TODO Auto-generated catch block
  11. e.printStackTrace();
  12. isDoublePhone=false;
  13. }catch(SecurityException e){
  14. e.printStackTrace();
  15. isDoublePhone=false;
  16. }catch(IllegalArgumentException e){
  17. e.printStackTrace();
  18. isDoublePhone=false;
  19. }catch(InvocationTargetException e){
  20. e.printStackTrace();
  21. isDoublePhone=false;
  22. }catch(Exception e){
  23. e.printStackTrace();
  24. isDoublePhone=false;
  25. }

顺便一提的是上面的函数getSimStateGemini返回是SIM状态,这里不用管,你只需要知道,如果不进入Exception就是双卡双待

当然,方法不止这一种。至于SIM信息获取,就请大家百度了
如果是做framework层开发发送相对就很简单了
[java]  view plain copy
  1. try{
  2. if(ITelephony.Stub.asInterface(ServiceManager.getService(Context.TELEPHONY_SERVICE)).isSimInsert(0)){
  3. //SIMCard1   inserted
  4. }
  5. if(ITelephony.Stub.asInterface(ServiceManager.getService(Context.TELEPHONY_SERVICE)).isSimInsert(1)){
  6. //SIMCard2 inserted
  7. }}catch (RemoteException ex) {
  8. } catch (NullPointerException ex) {
  9. }

或者

[java]  view plain copy
  1. if ("READY".equals(SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE))) {
  2. //SIMCard1 Ready
  3. }
  4. if ("READY".equals(SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE_2))) {
  5. //SIMCard2 Ready
  6. }

当然这里也给大家透露以下SIM state

[java]  view plain copy
  1. "ABSENT"     //缺失
  2. "PIN_REQUIRED"   //
  3. "PUK_REQUIRED"
  4. "NETWORK_LOCKED"
  5. "READY"     //ready

Android 双卡双待支持检验SIM信息获取相关推荐

  1. 基于Android studio的手机联系人信息获取

    最近需要做到这么一个功能,获取联系人信息,并且将联系人姓名和电话显示到屏幕上,上网查了很多资料,折腾了很久才做出来,特此写下感想. 代码原理不多讲,度娘一大堆,在贴代码之前想说一下过程中容易忽略的地方 ...

  2. Android 智联招聘网站信息获取

    使用的是Jsoup框架,主要使用的是select函数完成的. #id elements with attribute ID of "id" div#wrap, #logo .cla ...

  3. android获取子线程id,Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID

    /*** Returns the identifier of this process's user. * 返回此进程的用户的标识符.*/Log.e(TAG,"Process.myUid() ...

  4. Android系统信息获取 之十:移动网络相关信息获取

    Android平台移动网络信息主要是通过TelephonyManager类来获取的,通过前面对TelephonyManager的观察Android系统信息获取 之九:TelephonyManager类 ...

  5. Android 手机设备信息获取使用详解

    Android 手机是我们常用的工具之一,买手机之前,手机厂商会提供一些手机参数给我们,那么问题来了,我们该如何获取手机上的参数信息呢? 通过本文你讲了解到获取手机常用信息的基本方法. 获取手机基本信 ...

  6. Android Studio 获取磁盘信息获取imei

    到AndroidManifest.xml文件设置权限: <?xml version="1.0" encoding="utf-8"?> <man ...

  7. Android获取Linux图像信息,Android系统信息获取 之十三:Linux内核版本信息获取

    Android系统信息获取 之十三:Linux内核版本信息获取 Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android对应的Lin ...

  8. Android多媒体信息获取

    Android多媒体涉及视频.音频.图片,首先有几个概念: 1.Android中所有的多媒体文件除了存储在物理硬盘上,还会将文件信息(路径.id.类型.)保存到数据库中,这样当我们想要获取这些文件的信 ...

  9. Android监控外接USB设备和获取USB等设备的详细信息

    1.通过如下Action监控USB设备的插入或拔出 UsbManager.ACTION_USB_ACCESSORY_ATTACHED;UsbManager.ACTION_USB_ACCESSORY_D ...

最新文章

  1. Android应用程序与SurfaceFlinger服务的关系概述和学习计划
  2. Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
  3. 【Python笔记】集合
  4. MFC中子类调用父类成员
  5. html网页跟随滚轮变化,实现桌面和移动浏览器元素随页面滚动产生动画
  6. 如何使用终端下载 macOS Monterey 12.1 正式版
  7. python求x的y次方logn_次方计算器
  8. LTE-OA系统架构图
  9. 用计算机打字教案,使用打字软件练指法教案
  10. 通过IIS安装包安装IIS
  11. C# 串口CRC CCITT-FALSE 校验
  12. 主流智能手机屏幕材质介绍
  13. 【工程应用七】接着折腾模板匹配算法 (Optimization选项 + no_pregeneration模拟 + 3D亚像素插值)...
  14. 一线互联网技术团队管理经验谈
  15. 卡莱特led显示屏调试教程_卡莱特5A接收调屏步骤.doc
  16. S32K-LPSPI中文手册
  17. Acne Scarring Treatment
  18. 关于堆排序字符串按ASCII码升序输出问题
  19. 计算机专业考研数学考概率吗,数学专业考研容易吗
  20. 联想靠什么?|看完DCG的“硬指标”,我总觉得有哪点儿不对

热门文章

  1. HTML网页表格标签,HTML静态网页(标签、表格)
  2. Deferred异步操作
  3. 什么是“大数据新闻”? 大数据
  4. 看完微信公众号最新的广告分成方案,只想给32个赞
  5. Java DateUtil 时间工具类
  6. 数字图像处理:空间相关与卷积操作
  7. 汉中至巴中至南充铁路(汉巴南线)顺利开通
  8. win10下深度linux系统怎么安装,u深度win10pe安装win10系统教程
  9. 计算机专业征兵,计算机应用工程系征兵宣传大会顺利召开──保家卫国,学子应征...
  10. 算法的优雅(五):平衡的爱情