Android 获取手机的 IMEI 值

手机在生产时,每部手机均有一个唯一的标识(ID),国际上采用国际移动设备身份码(IMEI, International Mobile Equipment Identity)。IMEI是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。

在手机中输入*#06#即可看到本机的IMEI码。您也可以在手机包装盒上找到IMEI码。

在手机应用开发中,使用IMEI来做身份认证是一个常用的技术手段。

在Android SDK中,类android.telephony.TelephonyManager提供了手机设备信息的相关操作和管理。


在代码中添加

private void setPhoneStateManifest(){
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
            // toast("需要动态获取权限");
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_PHONE_STATE);
        }else{
            // toast("不需要动态获取权限");
            TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
            String IMEI = tm.getDeviceId();
            mPhoneState.setText(IMEI);
            Log.i(TAG,"IMEI:" + IMEI);
        }
    }


@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == REQUEST_PHONE_STATE && grantResults.length == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
        TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
        String IMEI = tm.getDeviceId();
        mPhoneState.setText(IMEI);
        Log.i(TAG,"IMEI:" + IMEI);
    }
}

不要忘记权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值