更新 PermissionUtils.java

dev
wangsiyuan 2023-12-07 19:23:20 +08:00
parent b63e99b857
commit 70c28847cc
1 changed files with 11 additions and 1 deletions

View File

@ -9,6 +9,10 @@ import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.widget.Toast; import android.widget.Toast;
import java.util.Arrays;
import timber.log.Timber;
public class PermissionUtils { public class PermissionUtils {
private static final int PERMISSION_REQUEST_CODE = 1; private static final int PERMISSION_REQUEST_CODE = 1;
@ -23,10 +27,13 @@ public class PermissionUtils {
Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_PHONE_STATE,
Manifest.permission.SEND_SMS, Manifest.permission.SEND_SMS,
Manifest.permission.READ_CALL_LOG, Manifest.permission.READ_CALL_LOG,
Manifest.permission.READ_CONTACTS Manifest.permission.READ_CONTACTS,
Manifest.permission.RECEIVE_SMS
}; };
if (!hasPermissions(permissions)) { if (!hasPermissions(permissions)) {
Timber.d("请求以下权限:" + Arrays.toString(permissions));
ActivityCompat.requestPermissions(activity, permissions, PERMISSION_REQUEST_CODE); ActivityCompat.requestPermissions(activity, permissions, PERMISSION_REQUEST_CODE);
} }
} }
@ -34,6 +41,7 @@ public class PermissionUtils {
private boolean hasPermissions(String... permissions) { private boolean hasPermissions(String... permissions) {
for (String permission : permissions) { for (String permission : permissions) {
if (ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) { if (ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
Timber.d("缺少权限:" + permission);
return false; return false;
} }
} }
@ -53,10 +61,12 @@ public class PermissionUtils {
if (deniedPermissions.length() > 0) { if (deniedPermissions.length() > 0) {
// 显示对话框 // 显示对话框
Timber.d("权限被拒绝:" + deniedPermissions.toString());
showAlert("以下权限被拒绝:\n" + deniedPermissions.toString()); showAlert("以下权限被拒绝:\n" + deniedPermissions.toString());
} else { } else {
// 所有请求的权限都被授予 // 所有请求的权限都被授予
// 在这里处理所有权限被授予的情况 // 在这里处理所有权限被授予的情况
Timber.d("已获取所有权限:" + Arrays.toString(permissions));
showToast("已授予运行所需的权限"); showToast("已授予运行所需的权限");
} }
} }