Cdacians

Cdacians
Cdacians

Tuesday, 7 August 2012

Get Network info using TelephonyManager


Get Network info using TelephonyManager

Using TelephonyManager, we can get cell phone network info; such as Network Operator (MCC+MNC), Network Operator Name, Network Type, Network Country Iso.

Permission READ_PHONE_STATE is required.

Get Network info using TelephonyManager

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package com.AndroidTelephonyManager;
 
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;
 
public class AndroidTelephonyManager extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     TextView textDeviceID = (TextView)findViewById(R.id.deviceid);
     TextView textNetworkOperator = (TextView)findViewById(R.id.networkoperator);
     TextView textNetworkOperatorName = (TextView)findViewById(R.id.networkoperatorname);
     TextView textNetworkType = (TextView)findViewById(R.id.networktype);
     TextView textNetworkCountryIso = (TextView)findViewById(R.id.networkcountryiso);
   
     //retrieve a reference to an instance of TelephonyManager
     TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
 
     textDeviceID.setText(getDeviceID(telephonyManager));
     textNetworkOperator.setText("Network Operator(MCC+MNC): " + telephonyManager.getNetworkOperator());
     textNetworkOperatorName.setText("Network Operator Name: " + telephonyManager.getNetworkOperatorName());
     textNetworkType.setText("Network Type: " + getNetworkType(telephonyManager));
     textNetworkCountryIso.setText("Network Country Iso:" + telephonyManager.getNetworkCountryIso());
 }
 
 String getNetworkType(TelephonyManager phonyManager){
  int type = phonyManager.getNetworkType();
 
  switch(type){
  case TelephonyManager.NETWORK_TYPE_UNKNOWN:
   return "NETWORK_TYPE_UNKNOWN";
  case TelephonyManager.NETWORK_TYPE_GPRS:
   return "NETWORK_TYPE_GPRS";
  case TelephonyManager.NETWORK_TYPE_EDGE:
   return "NETWORK_TYPE_EDGE";
  case TelephonyManager.NETWORK_TYPE_UMTS:
   return "NETWORK_TYPE_UMTS";
  case TelephonyManager.NETWORK_TYPE_HSDPA:
   return "NETWORK_TYPE_HSDPA";
  case TelephonyManager.NETWORK_TYPE_HSUPA:
   return "NETWORK_TYPE_HSUPA";
  case TelephonyManager.NETWORK_TYPE_HSPA:
   return "NETWORK_TYPE_HSPA";
  case TelephonyManager.NETWORK_TYPE_CDMA:
   return "NETWORK_TYPE_CDMA";
  case TelephonyManager.NETWORK_TYPE_EVDO_0:
   return "NETWORK_TYPE_EVDO_0";
  case TelephonyManager.NETWORK_TYPE_EVDO_A:
   return "NETWORK_TYPE_EVDO_0";
  /* Since: API Level 9
   *  case TelephonyManager.NETWORK_TYPE_EVDO_B:
   *  return "NETWORK_TYPE_EVDO_B";
   */
  case TelephonyManager.NETWORK_TYPE_1xRTT:
   return "NETWORK_TYPE_1xRTT";
  case TelephonyManager.NETWORK_TYPE_IDEN:
   return "NETWORK_TYPE_IDEN";
  /* Since: API Level 11
   *  case TelephonyManager.NETWORK_TYPE_LTE:
   * return "NETWORK_TYPE_LTE";
   */
  /* Since: API Level 11
   *  case TelephonyManager.NETWORK_TYPE_EHRPD:
   *  return "NETWORK_TYPE_EHRPD";
   */
  default:
   return "unknown";
  
  }
 }
 
 String getDeviceID(TelephonyManager phonyManager){
 
  String id = phonyManager.getDeviceId();
 
  if (id == null){
   id = "not available";
  }
 
  int phoneType = phonyManager.getPhoneType();
  switch(phoneType){
  case TelephonyManager.PHONE_TYPE_NONE:
   return "NONE: " + id;
 
  case TelephonyManager.PHONE_TYPE_GSM:
   return "GSM: IMEI=" + id;
 
  case TelephonyManager.PHONE_TYPE_CDMA:
   return "CDMA: MEID/ESN=" + id;
  
  /*
   *  for API Level 11 or above
   *  case TelephonyManager.PHONE_TYPE_SIP:
   *   return "SIP";
   */
 
  default:
   return "UNKNOWN: ID=" + id;
  }
 
 }
}


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
<TextView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:text="@string/hello"
 />
<TextView
 android:id="@+id/deviceid"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 />
<TextView
 android:id="@+id/networkoperator"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 />
<TextView
 android:id="@+id/networkoperatorname"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 />
<TextView
 android:id="@+id/networktype"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 />
<TextView
 android:id="@+id/networkcountryiso"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 />
</LinearLayout>


akm
www.cdacians.com

No comments:

Post a Comment