2017-07-17 60 views
0

的Android 6.0.1没有设置SMS_READ允许我设立许可清单文件小蜜MI4W通过编程

<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" /> 

但不幸的是我不能让短信permissin,之后我设置好的应用起来,我应该去智能手机的安全财产,并由我自己设置。究其原因,是否是MI限制的原因,或者我必须在Android版本的6版中设置其他内容。这适用于此智能手机上的previos版本。

+0

你需要运行许可。 –

+0

从6开始,你需要明确要求的一些权限:https://developer.android.com/training/permissions/requesting.html 这个库可以把它简化一下:https://github.com/tajchert/那姆 –

+0

THX我去看看.. – koa73

回答

2

从Android的棉花糖,你需要给运行时间许可。 添加如下代码在你的发射活动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); 
    } 
} 
+0

我应该问两个许可RESEVE_SMS&READ_SMS或足够多的收到什么? – koa73

+0

您需要在权限列表中逐个添加所有运行时权限 –