Android 电话管理器gsm参数

Android 电话管理器gsm参数,android,gsm,android-wireless,Android,Gsm,Android Wireless,我想知道telephony manager在Android平台上可以测量多少GSM参数? 代码示例将不胜感激 首先,你应该查阅官方文件 开发人员没有太多GSM参数可供使用,例如国家代码、rssi,但没有带下划线的参数 private void getNWInfo(Context context) { /** * <uses-permission android:name="android.permission.READ_PHONE_STATE" *

我想知道telephony manager在Android平台上可以测量多少GSM参数?
代码示例将不胜感激

首先,你应该查阅官方文件

开发人员没有太多GSM参数可供使用,例如国家代码、rssi,但没有带下划线的参数

private void getNWInfo(Context context) {
      /**
       * <uses-permission android:name="android.permission.READ_PHONE_STATE"
       * /> <uses-permission
       * android:name="android.permission.ACCESS_NETWORK_STATE"/>
       */

      TelephonyManager telephonyManager = (TelephonyManager) context
                   .getSystemService(Context.TELEPHONY_SERVICE);
      String networkOperator = telephonyManager.getNetworkOperator();
      int mcc = 0, mnc = 0;
      if (networkOperator != null) {
             mcc = Integer.parseInt(networkOperator.substring(0, 3));
             mnc = Integer.parseInt(networkOperator.substring(3));
      }

      String SimNumber = telephonyManager.getLine1Number();

      String SimSerialNumber = telephonyManager.getSimSerialNumber();
      String countryISO = telephonyManager.getSimCountryIso();
      String operatorName = telephonyManager.getSimOperatorName();
      String operator = telephonyManager.getSimOperator();
      int simState = telephonyManager.getSimState();

      String voicemailNumer = telephonyManager.getVoiceMailNumber();
      String voicemailAlphaTag = telephonyManager.getVoiceMailAlphaTag();

      // Getting connected network iso country code
      String networkCountry = telephonyManager.getNetworkCountryIso();
      // Getting the connected network operator ID
      String networkOperatorId = telephonyManager.getNetworkOperator();
      // Getting the connected network operator name
      String networkName = telephonyManager.getNetworkOperatorName();

      int networkType = telephonyManager.getNetworkType();

      String network = "";
      ConnectivityManager cm = (ConnectivityManager) context
                   .getSystemService(Context.CONNECTIVITY_SERVICE);
      try {
             if (cm.getActiveNetworkInfo().getTypeName().equals("MOBILE"))
                   network = "Cell Network/3G";
             else if (cm.getActiveNetworkInfo().getTypeName().equals("WIFI"))
                   network = "WiFi";
             else
                   network = "N/A";
      } catch (Exception e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
      }

      TextView  textView = (TextView) findViewById(R.id.textView);
      textView.setText("network :" + network +

      "\n" + "countryISO : " + countryISO + "\n" + "operatorName : "
                   + operatorName + "\n" + "operator :      " + operator + "\n"
                   + "simState :" + simState + "\n" + "Sim Serial Number : "
                   + SimSerialNumber + "\n" + "Sim Number : " + SimNumber + "\n"
                   + "Voice Mail Numer" + voicemailNumer + "\n"
                   + "Voice Mail Alpha Tag" + voicemailAlphaTag + "\n"
                   + "Sim State" + simState + "\n" + "Mobile Country Code MCC : "
                   + mcc + "\n" + "Mobile Network Code MNC : " + mnc + "\n"
                   + "Network Country : " + networkCountry + "\n"
                   + "Network OperatorId : " + networkOperatorId + "\n"
                   + "Network Name : " + networkName + "\n" + "Network Type : "
                   + networkType);
private void getNWInfo(上下文){
/**
*  
*/
TelephonyManager TelephonyManager=(TelephonyManager)上下文
.getSystemService(上下文.电话服务);
字符串networkOperator=telephonyManager.getNetworkOperator();
int mcc=0,mnc=0;
if(networkOperator!=null){
mcc=Integer.parseInt(networkOperator.substring(0,3));
mnc=Integer.parseInt(networkOperator.substring(3));
}
字符串SimNumber=telephonyManager.getLine1Number();
字符串SimSerialNumber=telephonyManager.getSimSerialNumber();
字符串countryISO=telephonyManager.getSimCountryIso();
字符串operatorName=telephonyManager.getSimOperatorName();
String operator=telephonyManager.getSimOperator();
int-simState=telephonyManager.getSimState();
字符串VoiceMailNumber=telephonyManager.getVoiceMailNumber();
String voicemailAlphaTag=telephonyManager.getVoiceMailAlphaTag();
//获取连接的网络iso国家/地区代码
字符串networkCountry=telephonyManager.getNetworkCountryIso();
//获取连接的网络运营商ID
字符串networkOperatorId=telephonyManager.getNetworkOperator();
//获取连接的网络运营商名称
字符串networkName=telephonyManager.getNetworkOperatorName();
int networkType=telephonyManager.getNetworkType();
字符串网络=”;
ConnectionManager cm=(ConnectionManager)上下文
.getSystemService(Context.CONNECTIVITY\u服务);
试一试{
if(cm.getActiveNetworkInfo().getTypeName().equals(“移动”))
network=“蜂窝网络/3G”;
else if(cm.getActiveNetworkInfo().getTypeName().equals(“WIFI”))
网络=“WiFi”;
其他的
网络=“不适用”;
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
TextView TextView=(TextView)findViewById(R.id.TextView);
setText(“网络:”+network+
“\n”+“countryISO:”+countryISO+“\n”+“运算符名称:”
+运算符名称+“\n”+”运算符:“+运算符+”\n”
+Sim状态:“+Sim状态+”\n“+”Sim序列号:
+Sim卡号码+“\n”+“Sim卡号码:”+SimNumber+“\n”
+“语音信箱号码”+语音信箱号码+“\n”
+“语音邮件Alpha标记”+语音邮件AlphaTag+“\n”
+Sim卡状态“+Sim卡状态+”\n“+”移动国家/地区代码:
+mcc+“\n”+”移动网络代码MNC:“+MNC+”\n
+网络国家:“+networkCountry+”\n
+网络运算符ID:“+networkOperatorId+”\n
+网络名称:“+networkName+”\n“+”网络类型:
+网络类型);
}


寻找更多信息,以防你不知道。高通公司(或芯片制造商)不会免费开放任何产品。
是的,追踪和收集关于您的手机与NodeB或BTS之间对话的L3信息很容易,但这是不可能的,或者您需要特殊的手机并支付大量美元。

谢谢。。。我需要更多的参数,以帮助我在测试驱动程序。如果您能帮助我,请指定您需要的参数,如BSSH??请指定这些参数:Rx级别、Rx质量、C/I、RSCP、Ec/No、CQI、Tx功率、小区ID、LAC、RAC、BCCH、BSIC、跳频信道、扰码、UARFCN、相邻小区、掉话、呼叫尝试、FTP会话失败、PDP上下文建立失败。