具有 android 6.0.1 的 XIAOMI MI4W 未通过编程设置 SMS_READ 权限
XIAOMI MI4W with android 6.0.1 not set SMS_READ permission by programmatically
我正在清单文件中设置权限
<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限制的原因还是我必须在Android的6版本中设置其他东西。这适用于此智能手机上的旧版本。
来自 Android 棉花糖,您需要给予 运行 时间许可。
在您的启动 activity 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);
}
}
我正在清单文件中设置权限
<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限制的原因还是我必须在Android的6版本中设置其他东西。这适用于此智能手机上的旧版本。
来自 Android 棉花糖,您需要给予 运行 时间许可。 在您的启动 activity 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);
}
}