2017-07-17 7 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" /> 

しかし、私は、アプリケーションを構成settedした後、残念ながら私は、SMSのpermissinを得ることができない、私がすべきスマートフォンのセキュリティ資産に行き、それを自分で設定します。理由は、それはMIの制限の理由か私はAndroidの6バージョンで何かを設定する必要があります。これは、このスマートフォンのプレビオバージョンで機能しました。

+0

実行時のアクセス許可が必要です。 –

+0

6から始めると、明示的にいくつかのアクセス権を要求する必要があります:https://developer.android.com/training/permissions/requesting.html このライブラリは少し簡略化できます:https://github.com/tajchert/ Nammu –

+0

Thx私は見るでしょ... – koa73

答えて

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); 
    } 
} 
+0

RESEVE_SMSとREAD_SMSの両方またはRECEIVEの両方の許可をお願いしますか? – koa73

+0

許可リストに1つずつ追加する必要があるすべての実行時アクセス許可 –