Android获取系统版本号、设备号等信息
获取权限:
<!-- 获取机型信息权限 -->
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
在软件开启首界面
private void getPhoneState() {
TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
// 没有权限 则请求获取权限
// 申请权限 第一个为context 第二个可以指定多个请求的权限 第三个参数为请求码
ActivityCompat.requestPermissions(this,
new String[]{android.Manifest.permission.READ_PHONE_STATE},
GlobalVariable.READ_PHONE_STATE);
} else {
String tmDevice = "" + tm.getDeviceId();
String tmSerial = "" + tm.getSimSerialNumber();
String androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
UUID deviceUuid = new UUID(androidId.hashCode(), ((long) tmDevice.hashCode() << 32) | tmSerial.hashCode());
//editor.putString("deviceCode",deviceUuid.toString());
GlobalVariable.DEVICECODE = deviceUuid.toString();
// 获取系统类型与版本
//editor.putString("deviceOs","android"+ android.os.Build.VERSION.RELEASE);
GlobalVariable.DEVICEOS = "android"+ android.os.Build.VERSION.RELEASE;
//editor.apply();
handlerForGoToLoginOrMain.sendEmptyMessage(0);
}
}
// 用户权限 申请 的回调方法
public void onRequestPermissionsResult(int requestCode,
@NonNull String permissions[], @NonNull int[] grantResults) {
if (requestCode == GlobalVariable.READ_PHONE_STATE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
getPhoneState();
} else {
Toast.makeText(QiDongActivity.this, "授权被禁止", Toast.LENGTH_SHORT).show();
}
}
super.onRequestPermissionsResult(requestCode, permissions,
grantResults);
}