简体   繁体   English

电话管理器GSM参数

[英]Telephony manager gsm parameters

I want to know how many GSM parameters can telephony manager measure, on Android platform? 我想知道在Android平台上电话管理器可以测量多少个GSM参数? Code examples will be appreciated. 代码示例将不胜感激。

Firstly, you should look into official documentation http://developer.android.com/reference/android/telephony/PhoneStateListener.html 首先,您应该查看官方文档http://developer.android.com/reference/android/telephony/PhoneStateListener.html

There are not so many GSM parameters available for developers, something like country code, rssi, but not underlined parameters. 可供开发人员使用的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);

} }

Look for more information here 在此处查找更多信息

Harmony, in case you dont know it. 和谐,以防万一你不知道。 Qualcomm (or the company behind chips) wont open anything for free. 高通公司(或芯片背后的公司)不会免费开放任何东西。 yeah it would be easy to make a trace and collect L3 info about the dialog between your mobile and the NodeB or BTS, but is not possible or you need special mobile and pay lot´s of dollars. 是的,很容易进行跟踪并收集有关您的移动设备与NodeB或BTS之间的对话的L3信息,但是这是不可能的,或者您需要特殊的移动设备并要花很多钱。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM