XIAOMI MI4W与android 6.0.1没有通过编程方式设置SMS_READ权限

时间:2017-07-17 13:08:03

标签: android android-permissions

我在清单文件中设置权限

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS" />

但不幸的是,我无法获得短信,在我设置申请后,我应该去智能手机的安全属性并自行设置。是什么原因,是MI限制的原因还是我必须在6版Android中设置其他东西。这适用于这款智能手机上的previos版本。

1 个答案:

答案 0 :(得分:2)

从Android marshmallow,您需要提供运行时权限。 在启动活动onCreate()方法中添加以下给定代码。

String permission = Manifest.permission.READ_SMS;
if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED){
    permissionList.add(permission);

    if (!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), permission)){
        requestPermissions(new String[]{permission}), SMS_PERMISSION);
    }
}