如何检测可用的运营商网络?

时间:2012-09-19 09:14:16

标签: android telephonymanager

Android中是否有任何方法可以检测该区域内所有可用的运营商网络。我试图从连接管理器中搜索它,它似乎只返回活动的网络信息。我还尝试了电话管理器,它只返回有源载波的信号和邻居信息(例如同一载波的其他信号)。我想创建一个应用程序,扫描每个国家/地区的可用手机网络 - 比如在设置中 - 在漫游时选择我的网络。

2 个答案:

答案 0 :(得分:1)

据我所知,这是不可能的,因为您只能获取SIM卡运营商的手机信息,但我们在TelephonyManager上有一个名为getAllCellInfo ()的新方法。
问题是该方法仅在API级别17上可用,仅在具有Jelly Bean(4.2)的设备上可用。

查看此link以获取更多信息。

答案 1 :(得分:0)

即使是getAllCellInfo函数也不会报告您所在位置的“所有网络”,只是因为手机只会监听/测量当前服务小区告诉它测量的频率/网络。通常这意味着它只会测量(并且能够报告小区)来自手机当前使用的同一网络。

如果手机丢失了其“家庭PLMN”(家庭或选定网络)的覆盖范围,它将定期进行其他频率的测量,以尝试回到它的“最喜欢的网络”。

为了能够获得您所在地区所有现有网络的列表,您需要使用其他类型的设备,例如“扫描仪”,它永远不会锁定任何小区,但会连续扫描多个频率以从任何网络中查找小区以及这些频率内的任何无线电接入技术(例如GSM / WCDMA LTE)。

或者连续按“选择网络”功能......

/ Kenneth