如何通过代码编程获取设备的IMEI/ESN号,但是在android> 6 [英] How to get device's IMEI/ESN number with code programming But in android > 6

查看:111
本文介绍了如何通过代码编程获取设备的IMEI/ESN号,但是在android> 6的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Android版本是棉花糖6.0

如何以编程方式在android> 6中查找/获取imei号码.

How to Find / Get imei number in android > 6 programmatically.

注意:我在AndroidManifest.xml文件中添加了READ_PHONE_STATE权限.

Note : I added READ_PHONE_STATE permission inside AndroidManifest.xml file.

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

在MainActivity内部

And inside MainActivity

TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String deviceid = manager.getDeviceId();

//Device Id is IMEI number

Log.d("msg", "Device id " + deviceid);

推荐答案

我的Android版本是棉花糖6.0

注意:您需要运行时权限

Note : You need Runtime Permissions

我在AndroidManifest.xml文件中添加了READ_PHONE_STATE权限.

I added READ_PHONE_STATE permission inside AndroidManifest.xml file.

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

在MainActivity中:

in MainActivity:

private static final int PERMISSIONS_REQUEST_READ_PHONE_STATE = 999;

private TelephonyManager mTelephonyManager;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE)
            != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE},
                PERMISSIONS_REQUEST_READ_PHONE_STATE);
    } else {
        getDeviceImei();
    }
....

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,
                                       int[] grantResults) {
    if (requestCode == PERMISSIONS_REQUEST_READ_PHONE_STATE
            && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
        getDeviceImei();
    }
}

private void getDeviceImei() {

    mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    String deviceid = mTelephonyManager.getDeviceId();
    Log.d("msg", "DeviceImei " + deviceid);
}

这篇关于如何通过代码编程获取设备的IMEI/ESN号,但是在android&gt; 6的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆