作者:陈跃峰
出自:http://blog.csdn.net/mailbomb
在手机软件开发中,通过短信SP进行收费已经很普及了,而对于短信SP来说,一般短信的通道号码(即106开通的号码)中,中国移动和中国联通、中国电信的都不一样,也就说如果使用短信SP的话,手机属于的运营商不同,则需要发送不同的内容到不同的通道号码,这样就使手机软件在扣费时必须处理这个问题。
一般解决这个问题的思路有2种:
1、 出现选择界面,让用户自己选择
这种方式对于程序实现来说,是最为简单的一种,但是在实现功能方面的弊端也是最大的。主要有2个问题:a、每次都弹出选择界面不太友好,b、如果用户选择错误则无法扣费。
所以一般不使用这种方式进行处理。
2、 通过获得短信服务中心号码进行判断
如果手机支持WMA则可以通过获得属性“wireless.messaging.sms.smsc”的值,来获得短信服务中心号码。对于国内的三个运营商来说,中国移动的短信服务中心号码是13800XXX500,其中XXX为号码所属的地区电话区号,中国联通的短信服务中心号码比较乱,但是均以130开头,包括3G的手机,而对于中国电信的手机,咨询客服以后均告知不需要设置短信服务中心号码。
基于以上的内容,则判断手机所属网络的方法代码如下:
/**
* 获得手机网络类别
*/
private int getPhoneNetworkType(){
//获得短信中心号码
String smsc = System.getProperty("wireless.messaging.sms.smsc");
//判断类别
if(smsc != null){
//移动短信中心号码
if(smsc.startsWith("138") || smsc.startsWith("+138") || smsc.startsWith("+86138")){
return MessageThread.CHINA_MOBILE_TYPE;
}else if(smsc.startsWith("+86130") || smsc.startsWith("0086130") || smsc.startsWith("130")|| smsc.startsWith("+130")){
return MessageThread.CHINA_UNICOM_TYPE;
}
}
//默认为电信手机类型
return MessageThread.CHINA_TELECOM_TYPE;
}
其它通过获得手机号码来判断手机所属的网络,由于获得手机号码不被J2ME技术通用支持,而且需要了解手机号段的信息,而不是很实用。
相关推荐
在实际使用中,用户只需输入想要查询的手机号码,应用就能快速返回其对应的运营商、地区等详细信息。 值得注意的是,由于Java在某些设备上的限制,特别是内存和处理能力的约束,部分手机可能无法顺利安装或运行这款...
随着移动互联网技术的迅速发展,移动增值服务成为运营商关注的焦点。移动百宝箱作为中国移动推出的一项新业务,旨在为用户提供丰富的在线内容和服务。其中,基于J2ME平台的移动无线阅读系统成为一种重要的应用模式,...
尽管2008年曾出现短暂萎缩,但随着3G牌照的发放和运营商的投资,3G相关投资在2009年大幅增长,为行业复苏提供了强大动力。 培训课程以培养高端人才为主,包括游戏策划工程师、游戏测试工程师、手机单机游戏开发...
OTA下载技术是现代移动通信和物联网领域不可或缺的一部分,它不仅提升了用户体验,也极大地简化了设备制造商和运营商的维护工作。通过对上述关键概念和流程的深入理解,开发者可以更好地利用OTA技术,为用户提供高效...
- 包括移动运营商模式、银行运营模式、第三方运营模式和银行与运营商合作运营模式。 27. **新技术对移动商务的影响**: - 移动及嵌入式技术的发展为移动商务模式创新提供了新机会。 28. **移动电子商务安全管理...
- **运营商渠道**:指通过运营商提供的应用商店或推荐列表等官方途径获得的应用程序。 - **第三方市场**:指通过非运营商的第三方应用市场或网站下载的应用。 - **自定义安装**:用户自行下载应用文件并通过手机安装...
本规范旨在定义中国移动基于GPRS技术的JAVA业务下载服务的技术标准与业务流程,适用于中国移动内部及其合作伙伴在开发、部署及运营JAVA应用程序时遵循的标准。 #### 2. 引用标准 本规范参考了以下标准: - GPRS ...
开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了 43 家。 移动手机联盟创始成员: Aplix 、 Ascender 、 Audience 、 Broadcom 、中国移动、 eBay 、 Esmertec 、谷歌、...