【安卓学习之代码学习】 双卡知识学习

最近在开发过程中,由于遇到发送短信时,卡1不在服务区(香港卡,找不到基站),卡2在服务区(大陆卡),导致默认发送短信时使用卡1,发送失败!
因此对于双卡管理,有一定的必要性,网站查了下,官方是不支持双卡的!

█ 相关资料:

1. android平台双卡适配


  android源码里只支持单卡,双卡是各个厂商在源码基础上扩展的。所以要适配,只好针对不同厂商的不同机型逐一进行。
  因为是对android源码的扩展,所以基本方法名应该不会有太大改变,只是类名和参数会有不同,所以操作上,除了要利用反射来调用相应接口以外,其他都与android单卡平台的操作方法类似
摘自:android平台双卡适配 - ReV_Fycd的专栏 - 博客频道 - CSDN.NET
  http://blog.csdn.net/rev_fycd/article/details/8788154
 

2.Android如何适配双卡


  从Android5.0开始,加入了一系列管理双卡信息的API,也加入了获取各sim卡信息状态以及调用不同sim卡发短信的接口。
  平时咱们开发的发短信功能大多数是调用SmsManager类提供的sendTextMessage方法来发短信的,但是对于双卡手机来讲,按照之前常规的方式,只能是通过默认卡发出短信,那该怎么办呢?
 ● 双卡发短信适配的常规方式
  通过subId(卡槽sim卡1和卡2的Id)可以获取到对应sim卡的SmsManager实例,而subId正是通过SubscriptionManager的getSubId方法来获取的,有了对应sim卡的SmsManager实例之后,按照以前的方法通过调用该实例的sendTextMessage方法就可以实现通过不同卡发短信的需求了。
这里写图片描述
 ● 获取IMSI的适配方案
  通过phone服务获取TelephonyManager的实例,从而调用这个带参数的getSubscriberId方法来获取对应sim卡的IMSI。
这里写图片描述
 ● 前面两点只是实现双卡需求的一个标准解决方案,最终有些厂家不一定遵守!
 ● 通过数据库传入卡槽值(sim_id)来查询sim卡的_id值
这里写图片描述
 ● 通过isms服务获取ISms接口的实例,通过调用ISms接口的sendTextForSubscriber方法来实现双卡发短信
这里写图片描述


摘自:Android如何适配双卡 - Android移动开发技术文章_手机开发 - 红黑联盟
  http://www.2cto.com/kf/201607/526924.html
 

3.android 双卡双待手机 发送短信选择卡1还是卡2发送的问题

参考:android 双卡双待手机 发送短信选择卡1还是卡2发送的问题-CSDN论坛-CSDN.NET-中国最大的IT技术社区
http://bbs.csdn.net/topics/390236736

4.国外手机厂商很少生产双卡双待的手机

参考:为什么国外手机厂商很少生产双卡双待的手机? - 用户习惯 - 知乎
https://www.zhihu.com/question/19569142

转载请注明出处:http://blog.csdn.net/ljb568838953/article/details/53483696

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值