直接复制版
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);
}