获得SIM卡各种信息
来源:互联网 发布:淘宝客服电话人工按几 编辑:程序博客网 时间:2024/06/05 05:37
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" />