Android提供了以下确定网络运营商的方法:http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName()
然而,即使是文件也明确指出:
返回当前已注册运算符的字母名称。可用性:仅当用户注册到网络时。结果在CDMA网络上可能是不可靠的,(使用getPhoneType()来确定是否在CDMA网络上)。
问题是我们需要一种可靠的方法来检测载波,这样我们就可以识别流量源。有没有人有类似的问题,如果有,最好的解决办法是什么?
发布于 2013-03-14 15:42:52
我的手机在Verizon无线。每天,我开车穿过我的手机漫游和/或接收不良的地区。使用android脚本层,我将在下一周每十分钟记录一次调用getOperatorName()的结果。
另一种方法可能在android.telephony.cdma api中工作。那里的文档缺少可靠性免责声明。您只会得到一个网络ID,而不是一个名称。不幸的是,如果这对您很重要,这需要API级别5而不是1。
记录getOperatorName()方法的结果没有什么特别的结果。当我没有服务时,它始终返回null,当我拥有服务时,它始终返回"Verizon“。我相信这不是很有帮助。
编辑:加法和更正。添加-链接修正的解释- API级别为5而不是17
编辑2:测试结果
发布于 2013-03-14 13:39:55
我目前也在寻找解决这个问题的方法。根据这个线程,我们可以使用CdmaCellLocation.getNetworkId和CdmaCellLocation.getSystemId。由于德国没有CDMA网络,我无法检查这是否有效.
发布于 2012-03-02 09:24:48
你认为这可能是谷歌的一个前驱,支持cdma吗?在框架内玩或者给你找另一个操场是我听到谷歌说的。好吧,这一点,以及运营商应用程序被烧进rom的事实,有时在安全性上留下了巨大的漏洞。至于你问题的可能答案..。你能从哪里得到信息?例如,APN设置可能告诉您,或者build.prop中已知的载波线路的断言可能会获取我可能需要的信息。(我做业余爱好)。再一次,如果你亲自检查一部手机,运营商通常会打上烙印;)你是从什么有利的位置获取信息的?
抢夺
https://stackoverflow.com/questions/8088046
复制相似问题