亲们!首先 感谢进来本帖的技术人员么。
我现在做了一个发短信的程序,但是现在很多国产手机都支持双卡双带模式。 我在设置里 把设置默认卡的选项取消了,改成总是询问。但是我发送短信的时候 还是没有提问我。 默认还是卡1发送。
问题1: 现在我想做成 发送短信的时候 选择卡1还是卡2发送 那该怎么做呢? 希望提供下思路。
问题2: 怎么判断双卡双待手机插了几张卡?
问题3: 怎么判断是否设置了默认卡?并且得到设置默认卡是卡1还是卡2呢?
------解决方案--------------------
国产手机大多用的是MTK和展讯的方案吧,他们的双卡双待都是自己实现的。
以MTK为例,FeatureOption.MTK_GEMINI_SUPPORT用来判断是双卡双待还是单卡单待。
isSimInsert(int simId)传入不同的simId可以判断对应的sim卡是否插入。
getDefaultSIM()判断当前默认的是哪张卡,如果只查了一张卡一定是默认为这张。
同时,MTK还在SIM卡管理这个菜单里面做了电话、短信等模块的默认SIM卡选项,可以单独设置对应模块默认的SIM卡。
如果用户插了两张卡,并且设置了短信为总是询问,你的应用要发送短信的时候,手机上就会弹出选择卡1或者卡2的菜单。
------解决方案--------------------
SDK上当然查不到,这些都是MTK这些厂商改的
------解决方案--------------------
问题1: 既然你在在设置取消卡1,卡2的设定,那么它之前是在哪里起作用的呢?,选卡1或卡2界面上只是选择操作,关键是要看在哪把表示卡1,卡2的参数传下去的。
问题2: 系统是有方法判断sim卡状态的,卡是否准备好,是否可写是可以读到的,可能有麻烦的是由于双卡的代码都是厂商自己加上去的,所以也许你要到你的代码里自己找找才行,看看厂商给出的文档吧
问题3: 我想还是要看你所用的代码了,信息太少了,没有什么有效的建议