Android 获取设备唯一号 unknown

Android 获取设备唯一号 unknown

问题:使用 Build.SERIAL 获取设备唯一号时有些机型会返回 'unknown'。

原因:在Android O以后 android.os.Build.SERIAL已经被弃用。

解决方法:需要使用新的方法  Build.getSerial() 。并且需要READ_PHONE_STATE权限。

       if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
            Declare.DeviceID = Build.SERIAL;
        } else {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
               
                // TODO: Consider calling
                //    ActivityCompat#requestPermissions
                // here to request the missing permissions, and then overriding
                //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                //                                          int[] grantResults)
                // to handle the case where the user grants the permission. See the documentation
                // for ActivityCompat#requestPermissions for more details.
                return;
            }
            Declare.DeviceID = Build.getSerial();
        }

以上

你可能感兴趣的:(Android)