《一种解决智能手机双卡适配的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种解决智能手机双卡适配的方法及系统.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104320776 A (43)申请公布日 2015.01.28 CN 104320776 A (21)申请号 201410602810.4 (22)申请日 2014.10.31 H04W 8/24(2009.01) H04W 12/06(2009.01) H04W 88/06(2009.01) (71)申请人 北京思特奇信息技术股份有限公司 地址 100086 北京市海淀区中关村南大街 6 号中电信息大厦 16 层 (72)发明人 吕麟 (74)专利代理机构 北京轻创知识产权代理有限 公司 11212 代理人 杨立 (54) 发明名称 一种解决智能手机双卡适配的方法。
2、及系统 (57) 摘要 本发明涉及一种解决智能手机双卡适配的方 法及系统, 所述方法包括 : 步骤 1, 客户端获取智 能手机的 SIM 卡的 IMSI, 并判断是否是支撑范围 内的双卡手机 ; 步骤 2, 对于不在支撑范围内的双 卡手机, 发送该智能手机对应的手机身份信息给 服务端 ; 步骤 3, 服务端将接收的手机身份信息与 事先存储的双卡手机身份信息进行匹配, 若匹配 成功, 则将双卡手机身份信息发送给客户端, 否则 直接在服务端执行预设的单卡代码, 并将单卡代 码执行结果返回给客户端 ; 步骤 4, 客户端接收到 双卡手机身份信息后, 执行对应的双卡代码。 本发 明通过在 Server。
3、 端维护双卡手机身份, 客户端维 护双卡手机源码然后 Server 端和客户端相结合 的方式解决手机双卡适配。 (51)Int.Cl. 权利要求书 1 页 说明书 8 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书8页 附图1页 (10)申请公布号 CN 104320776 A CN 104320776 A 1/1 页 2 1. 一种解决智能手机双卡适配的方法, 其特征在于, 包括 : 步骤 1, 客户端获取智能手机的 SIM 卡的 IMSI, 并判断是否是支撑范围内的双卡手机 ; 步骤 2, 对于不在支撑范围内的双卡手机, 发送该智能手机。
4、对应的手机身份信息给服务 端 ; 步骤 3, 服务端将接收的手机身份信息与事先存储的双卡手机身份信息进行匹配, 若匹 配成功, 则将双卡手机身份信息发送给客户端, 否则该手机为未适配的双卡手机, 记录手机 身份信息, 并直接在服务端执行预设的单卡代码, 并将单卡代码执行结果返回给客户端 ; 步骤 4, 客户端接收到双卡手机身份信息后, 执行对应的双卡代码。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述手机身份信息包括设备型号和芯片 型号。 3.根据权利要求1所述的方法, 其特征在于, 所述步骤1中判断是否是支撑范围内的双 卡手机具体包括 : 客户端集成了从双卡手机厂商获取的双卡手机。
5、的源码, 通过源码获取双 卡信息以判断是否为支撑范围内的双卡手机。 4. 根据权利要求 1 或 3 所述的方法, 其特征在于, 若是双卡手机, 则客户端直接执行双 卡手机的源码。 5. 根据权利要求 1 所述的方法, 其特征在于, 对于 Android 系统的智能手机, 所述步骤 1 中采用 Android SDK 提供的 API 接口获取手机 SIM 卡的 IMSI。 6. 一种解决智能手机双卡适配的系统, 其特征在于, 包括客户端和服务端 : 所述客户端, 其用于获取智能手机的 SIM 卡的 IMSI, 并判断是否是支撑范围内的双卡 手机, 对于不在支撑范围内的双卡手机, 所述客户端发送该。
6、智能手机对应的手机身份信息 给服务端 ; 所述服务端, 其用于将接收的手机身份信息与事先存储的双卡手机身份信息进行匹 配, 若匹配成功, 则将双卡手机身份信息发送给客户端, 否则该手机为未适配的双卡手机, 记录手机身份信息, 并直接在服务端执行预设的单卡代码, 并将单卡代码执行结果返回给 客户端 ; 所述客户端还用于在接收到双卡手机身份信息后, 执行对应的双卡代码。 7. 根据权利要求 6 所述的系统, 其特征在于, 所述手机身份信息包括设备型号和芯片 型号。 8. 根据权利要求 6 所述的系统, 其特征在于, 所述客户端判断是否是支撑范围内的双 卡手机具体包括 : 客户端集成了从双卡手机厂商。
7、获取的双卡手机的源码, 通过源码获取双 卡信息以判断是否为支撑范围内的双卡手机。 9. 根据权利要求 6 或 8 所述的系统, 其特征在于, 若是支撑范围内的双卡手机, 则客户 端直接执行双卡手机的源码。 10.根据权利要求1所述的方法, 其特征在于, 对于Android系统的智能手机, 所述客户 端采用 Android SDK 提供的 API 接口获取手机 SIM 卡的 IMSI。 权 利 要 求 书 CN 104320776 A 2 1/8 页 3 一种解决智能手机双卡适配的方法及系统 技术领域 0001 本发明涉及智能手机技术领域, 特别是涉及一种解决智能手机双卡适配的方法及 系统。 背。
8、景技术 0002 随着移动设备越来越普及, 移动设备的功能越来越完善, 移动设备的系统平台也 日渐火热起来。目前国内最常见的移动开发平台有塞班, iPhone, Windows phone 以及当下 风头正劲的 Android。不论是用户还是开发者都已经有了相当数量, Android 已经成为国内 移动开发平台不可忽视的力量。 0003 虽然 Android 已经有了很好的发展, 并且占据了相当份额的市场, 但是目前的 Android 系统还是面临着重重的困难。Android 的开放带来了大量三方开发小组, 每个小组 都开发自己的 ROM, 都想打响自己的品牌, 却都又不曾有计划把自己的修改贡。
9、献回社区。再 加上水货手机必须要破解, 整个 Android 社区三方 ROM 乱飞。就国内来说三方 ROM 中比较 普遍的一个功能就是支撑手机双卡双待功能, 与原生的 Android 系统不同, 国内生产双卡 手机的厂商有很多家, 而且彼此之间也没有遵循特定的规范, 这种情况就引发了手机软件 开发中双卡手机适配的问题。 0004 双卡手机适配普遍采用的方式是从双卡手机厂商获取源码, 缺点是无法涵盖所有 的双卡源码, 无法准确的区分单卡和双卡。因此, 本发明提出了 Server 端和客户端结合的 方式来完成双卡的适配。 发明内容 0005 本发明所要解决的技术问题是提供一种解决智能手机双卡适配。
10、的方法及系统, 用 于解决智能手机的双卡适配问题。 0006 本发明解决上述技术问题的技术方案如下 : 一种解决智能手机双卡适配的方法, 包括 : 0007 步骤1, 客户端获取智能手机的SIM卡的IMSI, 并判断是否是支撑范围内的双卡手 机 ; 0008 步骤 2, 对于不在支撑范围内的双卡手机, 发送该智能手机对应的手机身份信息给 服务端 ; 0009 步骤 3, 服务端将接收的手机身份信息与事先存储的双卡手机身份信息进行匹配, 若匹配成功, 则将双卡手机身份信息发送给客户端, 否则该手机为未适配的双卡手机, 记录 手机身份信息, 并直接在服务端执行预设的单卡代码, 并将单卡代码执行结果。
11、返回给客户 端 ; 0010 步骤 4, 客户端接收到双卡手机身份信息后, 执行对应的双卡代码。 0011 在上述技术方案的基础上, 本发明还可以做如下改进。 0012 进一步, 所述手机身份信息包括设备型号和芯片型号。 说 明 书 CN 104320776 A 3 2/8 页 4 0013 进一步, 所述判断是否是支撑范围内的双卡手机具体包括 : 客户端集成了从双卡 手机厂商获取的双卡手机的源码, 通过源码获取双卡信息以判断是否为支撑范围内的双卡 手机。 0014 进一步, 若是支撑范围内的双卡手机, 则客户端直接执行双卡手机的源码。 0015 进一步, 对于 Android 系统的智能手机。
12、, 所述步骤 1 中采用 Android SDK 提供的 API 接口获取手机 SIM 卡的 IMSI。 0016 本发明的技术方案还包括一种解决智能手机双卡适配的系统, 包括客户端和服务 端 : 0017 所述客户端, 其用于获取智能手机的 SIM 卡的 IMSI, 并判断是否是支撑范围内的 双卡手机, 对于不在支撑范围内的双卡手机, 所述客户端发送该智能手机对应的手机身份 信息给服务端 ; 0018 所述服务端, 其用于将接收的手机身份信息与事先存储的双卡手机身份信息进行 匹配, 若匹配成功, 则将双卡手机身份信息发送给客户端, 否则该手机为未适配的双卡手 机, 记录手机身份信息, 并直接。
13、在服务端执行预设的单卡代码, 并将单卡代码执行结果返回 给客户端 ; 0019 所述客户端还用于在接收到双卡手机身份信息后, 执行对应的双卡代码。 0020 进一步, 所述手机身份信息包括设备型号和芯片型号。 0021 进一步, 所述客户端判断是否是支撑范围内的双卡手机具体包括 : 客户端集成了 从双卡手机厂商获取的双卡手机的源码, 通过源码获取双卡信息以判断是否为支撑范围内 的双卡手机。 0022 进一步, 若是支撑范围内的双卡手机, 则客户端直接执行双卡手机的源码。 0023 进一步, 对于 Android 系统的智能手机, 所述客户端采用 Android SDK 提供的 API 接口获取。
14、手机 SIM 卡的 IMSI。 0024 本发明的有益效果是 : 通过在 Server 端维护双卡手机身份, 客户端维护双卡手机 源码然后 Server 端和客户端相结合的方式解决手机双卡适配, 显著的提高了单卡双卡手 机判断的效率和准确性 ; 为广大的 Android 开发者提供了一种良好的双卡适配解决方案。 附图说明 0025 图 1 为本发明所述的一种解决智能手机双卡适配的方法的流程示意图。 具体实施方式 0026 以下结合附图对本发明的原理和特征进行描述, 所举实例只用于解释本发明, 并 非用于限定本发明的范围。 0027 如图 1 所示, 本实施例提出了一种解决智能手机双卡适配的方法。
15、, 包括 : 0028 步骤1, 客户端获取智能手机的SIM卡的IMSI, 并判断是否是支撑范围内的双卡手 机 ; 0029 步骤 2, 对于不在支撑范围内的双卡手机, 发送该智能手机对应的手机身份信息给 服务端 ; 0030 步骤 3, 服务端将接收的手机身份信息与事先存储的双卡手机身份信息进行匹配, 说 明 书 CN 104320776 A 4 3/8 页 5 若匹配成功, 则将双卡手机身份信息发送给客户端, 否则该手机为未适配的双卡手机, 记录 手机身份信息, 并直接在服务端执行预设的单卡代码, 并将单卡代码执行结果返回给客户 端 ; 0031 步骤 4, 客户端接收到双卡手机身份信息后。
16、, 执行对应的双卡代码。 0032 其中, 支撑范围是市面上已有的常用双卡手机构建的支撑平台, 其收集需要的支 持的双卡手机, 将其 IMSI 相关信息存储在支撑平台, 用于确认手机信息, 平台内容来源于 市面常用双卡手机, 平台的定义是收集双卡手机的信息和功能代码, 功能就是提供双卡手 机身份信息和双卡手机请求结果返回。所述单卡代码预设在服务器上, 为 Android 通用代 码, 功能视请求而定, 并不是单指某一功能 ; 所述双卡代码预设在客户端上, 需支持双卡手 机的信息, 代码为修改过的 Android 代码, 功能视请求而定, 并不是单指某一功能, 是针对 单卡手机已有功能的双卡适配。
17、改版。 0033 其中, 所述手机身份信息包括设备型号和芯片型号。 0034 本实施例中, 所述判断是否是支撑范围内的双卡手机具体包括 : 客户端集成了从 双卡手机厂商获取的双卡手机的源码, 通过源码获取双卡信息以判断是否为支撑范围内的 双卡手机。需注意的是, 若是支撑范围内的双卡手机, 则客户端直接执行双卡手机的源码。 0035 对应地, 本实施例还给出了一种解决智能手机双卡适配的系统, 包括客户端和服 务端 : 0036 所述客户端, 其用于获取智能手机的 SIM 卡的 IMSI, 并判断是否是支撑范围内的 双卡手机, 对于不在支撑范围内的双卡手机, 所述客户端发送该智能手机对应的手机身份。
18、 信息给服务端 ; 0037 所述服务端, 其用于将接收的手机身份信息与事先存储的双卡手机身份信息进行 匹配, 若匹配成功, 则将双卡手机身份信息发送给客户端, 否则该手机为未适配的双卡手 机, 记录手机身份信息, 并直接在服务端执行预设的单卡代码, 并将单卡代码执行结果返回 给客户端 ; 0038 所述客户端还用于在接收到双卡手机身份信息后, 执行对应的双卡代码。 0039 其中, 客户端是应用的载体, 负责给用户提供专业的信息服务 ; 可以通过获取 SIM 卡的 IMSI 来判断是不是手机设备 ; 集成了从双卡手机厂商获取的源码, 通过尝试用这些源 码获取双卡信息来判断是不是支撑范围内的双。
19、卡手机。 而服务端负责给客户端提供数据服 务, 响应客户端的数据请求 ; 维护一份国内已知的双卡手机身份信息表, 用来判断请求的客 户端是不是双卡手机 ; 预设单卡手机的执行代码, 如果是单卡手机直接返回给客户端执行 结果, 避免客户端知道身份后再次向 Server 端 ( 服务端 ) 发请求而影响系统性能。 0040 本实施例在具体实施过程中, 要特别注意以下几个部分 : 0041 一、 获取 SIM 卡 IMSI, 判断是否是手机设备 0042 利用 Android SDK 提供的 API 接口获取手机 SIM 卡的 IMSI。 0043 (1) 判断 SIM 卡的 IMSI 号是否为 1。
20、5 位返回方案处理过的 SIM 卡的 IMSI 串号。 0044 具体的实现程序如下所示, 其中传入数据是 mContext, 即当前应用的上下文, 返回 数据是设备处理过的 IMSI 串号。 0045 说 明 书 CN 104320776 A 5 4/8 页 6 0046 上述程序主要完成了 6 个层次的功能, 如下 : 0047 1) 获取 Android 的设备管理者 ; 0048 2) 通过管理者的 getSubscriberID 方法获取用户设备的 IMSI 设备串号 ; 0049 3) 如果设备串号为空, 流程执行失败, 返回空 ; 0050 4) 如果 IMSI 设备串号不等于 。
21、15 位 ; 0051 5) 将 IMSI 设备串号转型为字节型 ; 0052 6)调用MD5工具类中的bytes2hex方法将byte型的IMSI设备串号转义为哈希字 符串并返回。 说 明 书 CN 104320776 A 6 5/8 页 7 0053 (2) 将 byte 型 IMSI 串号转义为哈希字符串, 主要程序如下。 0054 0055 上述程序主要完成了 4 个层次的功能, 如下 : 0056 1) 创建一个 StringBuffer 字符缓冲流对象缓冲接收 Byte 型数据。 0057 2) 循环按字节读取缓冲流里的字节, 每个字节都是 int 型所以用 java 的 inte。
22、ger 对象自带的的 toHexString 将每个 int 型的数据转为哈希型。 0058 3) 判断转义后的 hex 字符。 0059 如果 hex 长度为 1, 则将 hex 字符的签名拼接一个 0, 插入缓冲串的队尾 ; 0060 如果 hex 长度大于 2 截取第 6 位到第 8 位的字符串, 将获取的字符串插入缓冲穿 的队伍 ; 0061 如果 hex 长度是 2, 将 hex 字符串直接插入到缓冲串的队尾。 0062 4) 插入一个 hex 字符串之后在气候插入一个空字符串。 0063 5) 将处理过的 IMSI 串号返回。 0064 二、 判断是不是支撑范围内的双卡手机 006。
23、5 以金立手机为例, 尝试用已获取的双卡源码获取双卡信息 : 0066 说 明 书 CN 104320776 A 7 6/8 页 8 0067 说 明 书 CN 104320776 A 8 7/8 页 9 0068 说 明 书 CN 104320776 A 9 8/8 页 10 0069 三、 Server 端验证是否是客户端还未支撑但属于已知的双卡手机 0070 维护一份国内已知的双卡手机身份信息表, 用来判断请求的客户端是不是双卡手 机。 0071 以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本发明的精神和 原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。 说 明 书 CN 104320776 A 10 1/1 页 11 图 1 说 明 书 附 图 CN 104320776 A 11 。