diff --git a/utilcode/src/main/java/com/blankj/utilcode/constant/PermissionConstants.java b/utilcode/src/main/java/com/blankj/utilcode/constant/PermissionConstants.java index b200ac8a2fe3ccc0ff13adca0e195297a7b653d7..0cb44520e13b60936bd1004676443013dfe439de 100644 --- a/utilcode/src/main/java/com/blankj/utilcode/constant/PermissionConstants.java +++ b/utilcode/src/main/java/com/blankj/utilcode/constant/PermissionConstants.java @@ -3,6 +3,7 @@ package com.blankj.utilcode.constant; import android.Manifest; import android.Manifest.permission; import android.annotation.SuppressLint; +import android.os.Build; import android.support.annotation.StringDef; import java.lang.annotation.Retention; @@ -30,34 +31,39 @@ public final class PermissionConstants { public static final String SMS = Manifest.permission_group.SMS; public static final String STORAGE = Manifest.permission_group.STORAGE; - private static final String[] GROUP_CALENDAR = { + private static final String[] GROUP_CALENDAR = { permission.READ_CALENDAR, permission.WRITE_CALENDAR }; - private static final String[] GROUP_CAMERA = { + private static final String[] GROUP_CAMERA = { permission.CAMERA }; - private static final String[] GROUP_CONTACTS = { + private static final String[] GROUP_CONTACTS = { permission.READ_CONTACTS, permission.WRITE_CONTACTS, permission.GET_ACCOUNTS }; - private static final String[] GROUP_LOCATION = { + private static final String[] GROUP_LOCATION = { permission.ACCESS_FINE_LOCATION, permission.ACCESS_COARSE_LOCATION }; - private static final String[] GROUP_MICROPHONE = { + private static final String[] GROUP_MICROPHONE = { permission.RECORD_AUDIO }; - private static final String[] GROUP_PHONE = { + private static final String[] GROUP_PHONE = { permission.READ_PHONE_STATE, permission.READ_PHONE_NUMBERS, permission.CALL_PHONE, permission.ANSWER_PHONE_CALLS, permission.READ_CALL_LOG, permission.WRITE_CALL_LOG, permission.ADD_VOICEMAIL, permission.USE_SIP, permission.PROCESS_OUTGOING_CALLS }; - private static final String[] GROUP_SENSORS = { + private static final String[] GROUP_PHONE_BELOW_O = { + permission.READ_PHONE_STATE, permission.READ_PHONE_NUMBERS, permission.CALL_PHONE, + permission.READ_CALL_LOG, permission.WRITE_CALL_LOG, permission.ADD_VOICEMAIL, + permission.USE_SIP, permission.PROCESS_OUTGOING_CALLS + }; + private static final String[] GROUP_SENSORS = { permission.BODY_SENSORS }; - private static final String[] GROUP_SMS = { + private static final String[] GROUP_SMS = { permission.SEND_SMS, permission.RECEIVE_SMS, permission.READ_SMS, permission.RECEIVE_WAP_PUSH, permission.RECEIVE_MMS, }; - private static final String[] GROUP_STORAGE = { + private static final String[] GROUP_STORAGE = { permission.READ_EXTERNAL_STORAGE, permission.WRITE_EXTERNAL_STORAGE }; @@ -79,7 +85,11 @@ public final class PermissionConstants { case MICROPHONE: return GROUP_MICROPHONE; case PHONE: - return GROUP_PHONE; + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { + return GROUP_PHONE_BELOW_O; + } else { + return GROUP_PHONE; + } case SENSORS: return GROUP_SENSORS; case SMS: