如何获得可用的GSM网络列表?

问题描述:

我目前正在写一些代码在android 2.1的应该测量gsm信号的信号强度。 我需要的是某种形式的名单有某种匹配相应的信号strengthes网络ID ... 我走到这一步:如何获得可用的GSM网络列表?

public class main extends Activity { 
    TelephonyManager telManager; 
    GSMListener gsmListener; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     gsmListener = new GSMListener(); 

     telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
     telManager.listen(gsmListener ,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); 

    } 

    private class GSMListener extends PhoneStateListener { 
     /* Get the Signal strength from the provider, each time there is an update */ 
     @Override 
     public void onSignalStrengthsChanged(SignalStrength signalStrength) { 
      super.onSignalStrengthsChanged(signalStrength); 

      Toast.makeText(main.this, "GSM Cinr: " + signalStrength.getGsmSignalStrength(), Toast.LENGTH_SHORT).show(); 
     } 
    }; 
} 

,但在这一点上,我不知道是否有网络ID,如无线网络?这是如何处理与GSM?我需要确定我获得信号强度的GSM网络。

编辑:

“network-id”,意思是“cell-id”。我需要的是范围内的*all available* gsm网络列表以及它们的接收质量。运营商ID对我来说并不是很感兴趣,因为我需要识别小区和网络,我从中获得信号强度。

每个运营商都有一个唯一的ID,即一个名为PLMN(公共陆地移动网络)的5位数字号码。

该号码由一个3位MCC(移动国家代码)和一个2位MNC(移动网络代码)组成。

wikipedia list是一个比较完整的列表。