获得SIM卡各种信息



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" />


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值