import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;
public class mainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.tv1);
TelephonyManager tm = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);
// SIM卡提供商代码 46000 46002移动 46001中国联通 46003电信
String SimOperator = tm.getSimOperator();
// Log.e("SIM卡提供商代码 ", SimOperator);
tv.append("SIM卡提供商代码 " + SimOperator + "\n");
// SIM卡提供商名称
String SimOperatorName = tm.getSimOperatorName();
// Log.e("SIM卡提供商名称", SimOperatorName);
tv.append("SIM卡提供商名称 " + SimOperatorName + "\n");
// SIM卡国别
String SimCountryIso = tm.getSimCountryIso();
// Log.e("SIM卡国别", SimCountryIso);
tv.append("SIM卡国别 " + SimCountryIso + "\n");
// 返回设备唯一ID
String deviceid = tm.getDeviceId();
// Log.e("返回设备唯一ID", deviceid);GSM手机的IMEI和CDMA手机的MEID
tv.append("返回设备唯一ID " + deviceid + "\n");
// 获得电话号码
String tel = tm.getLine1Number();
// Log.e("获得电话号码", tel);
tv.append("获得电话号码 " + tel + "\n");
// SIM卡序列号
String imei = tm.getSimSerialNumber();
// Log.e("SIM卡序列号", imei);
tv.append("SIM卡序列号 " + imei + "\n");
// 获取客户ID,在GSM中是imsi号
String imsi = tm.getSubscriberId();
// Log.e("获取客户ID,在GSM中是imsi号 ", imsi);
tv.append("获取客户ID,在GSM中是imsi号 " + imsi + "\n");
// SIM卡状态
int simState = tm.getSimState();
// SIM卡状态
switch(simState) {
case TelephonyManager.SIM_STATE_READY:
// 良好
// Log.e("", "良好");
tv.append("SIM卡状态 良好 \n");
break;
case TelephonyManager.SIM_STATE_ABSENT:
// 无SIM卡
// Log.e("", "无SIM卡");
tv.append("SIM卡状态 无SIM卡 \n");
break;
case TelephonyManager.SIM_STATE_NETWORK_LOCKED:
// SIM卡网络被锁定,需要Network PIN解锁
// Log.e("", "SIM卡网络被锁定,需要Network PIN解锁");
tv.append("SIM卡状态 SIM卡网络被锁定,需要Network PIN解锁好 \n");
break;
case TelephonyManager.SIM_STATE_PIN_REQUIRED:
// SIM卡PIN被锁定,需要User PIN解锁
// Log.e("", "SIM卡PIN被锁定,需要User PIN解锁");
tv.append("SIM卡状态 SIM卡PIN被锁定,需要User PIN解锁 \n");
break;
case TelephonyManager.SIM_STATE_PUK_REQUIRED:
// SIM卡PUK被锁定,需要User PUK解锁
// Log.e("", "SIM卡PUK被锁定,需要User PUK解锁");
tv.append("SIM卡状态 SIM卡PUK被锁定,需要User PUK解锁 \n");
break;
case TelephonyManager.SIM_STATE_UNKNOWN:
// SIM卡未知
// Log.e("", "SIM卡未知");
tv.append("SIM卡状态 SIM卡未知 \n");
break;
}
}
}
所需权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />