My Android version is Marshmallow 6.0
如何以编程方式在 android > 6 中查找/获取 imei 号码。
注意:我在 AndroidManifest.xml 文件中添加了 READ_PHONE_STATE 权限。
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
在 MainActivity 中
TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String deviceid = manager.getDeviceId();
//Device Id is IMEI number
Log.d("msg", "Device id " + deviceid);
最佳答案
My Android version is Marshmallow 6.0
注意:您需要运行时权限
我在 AndroidManifest.xml 文件中添加了 READ_PHONE_STATE 权限。
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
在主 Activity 中:
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);
}
关于android - 如何通过代码编程获取设备的 IMEI/ESN 号码 但是在 android > 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39385672/