直接複製版
if (Build.VERSION.SDK_INT >= 23){
int REQUEST_CODE_CONTACT = 101;
String[] permissions = {Manifest.permission.RECEIVE_SMS,Manifest.permission.WRITE_EXTERNAL_STORAGE};
for (String str : permissions){
if (ContextCompat.checkSelfPermission(this,str) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, permissions, REQUEST_CODE_CONTACT);
}
}
}
解釋版
//檢查安卓版本
if (Build.VERSION.SDK_INT >= 23){
int REQUEST_CODE_CONTACT = 101; //設置請求碼
String[] permissions = {Manifest.permission.RECEIVE_SMS,Manifest.permission.WRITE_EXTERNAL_STORAGE}; //將需要的權限填入這裏
//挨個請求權限
for (String str : permissions){
if (ContextCompat.checkSelfPermission(this, str) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, permissions, REQUEST_CODE_CONTACT);
}
}
}
注意上面請求多少權限,在AndroidManifest.xml中寫入多少權限。
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.monitor">
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
//EasyPermissions版模板
String PERMISSION_STORAGE_MSG = "請授予權限,否則影響部分使用功能";
int REQUEST_CODE_CONTACT = 101;
String[] perms = {Manifest.permission.RECEIVE_SMS};
if (!EasyPermissions.hasPermissions(this, perms)) {
EasyPermissions.requestPermissions(this, PERMISSION_STORAGE_MSG , REQUEST_CODE_CONTACT, perms);
}