Skip to content

Commit 0b5aed1

Browse files
author
HJQ
committed
删除一些不合理的权限组,删除一些累赘代码
1 parent 533cd4f commit 0b5aed1

File tree

6 files changed

+18
-53
lines changed

6 files changed

+18
-53
lines changed

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77
#### 集成步骤
88

99
dependencies {
10-
implementation 'com.hjq:xxpermissions:3.6'
10+
implementation 'com.hjq:xxpermissions:3.8'
1111
}
1212

1313
#### 一句代码搞定权限请求,从未如此简单
1414

1515
XXPermissions.with(this)
1616
//.constantRequest() //可设置被拒绝后继续申请,直到用户授权或者永久拒绝
17-
//.permission(Permission.REQUEST_INSTALL_PACKAGES, Permission.SYSTEM_ALERT_WINDOW) //支持请求安装权限和悬浮窗权限
18-
.permission(Permission.Group.STORAGE) //支持多个权限组进行请求,不指定则默以清单文件中的危险权限进行请求
17+
//.permission(Permission.REQUEST_INSTALL_PACKAGES) //支持8.0及以上请求安装权限
18+
//.permission(Permission.SYSTEM_ALERT_WINDOW) //支持请求6.0及以上悬浮窗权限
19+
.permission(Permission.Group.STORAGE) //不指定权限则自动获取清单中的危险权限
1920
.request(new OnPermission() {
2021

2122
@Override
@@ -51,7 +52,7 @@
5152

5253
* 可设置被拒绝后继续申请,直到用户授权或者永久拒绝
5354

54-
* 支持请求6.0以上的悬浮窗权限以及8.0以上的安装权限
55+
* 支持请求6.0及以上的悬浮窗权限和8.0及以上的安装权限
5556

5657
* 本框架不依赖AppCompatSupport库,兼容Eclipse和Studio
5758

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "com.hjq.permissions.demo"
88
minSdkVersion 14
99
targetSdkVersion 26
10-
versionCode 36
11-
versionName "3.6"
10+
versionCode 38
11+
versionName "3.8"
1212
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1313
}
1414
buildTypes {

app/src/main/java/com/hjq/permissions/demo/MainActivity.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ protected void onCreate(Bundle savedInstanceState) {
2222
public void requestPermission(View view) {
2323
XXPermissions.with(this)
2424
//.constantRequest() //可设置被拒绝后继续申请,直到用户授权或者永久拒绝
25-
//.permission(Permission.REQUEST_INSTALL_PACKAGES, Permission.SYSTEM_ALERT_WINDOW) //支持请求安装权限和悬浮窗权限
26-
.permission(Permission.Group.STORAGE, Permission.Group.CAMERA)
25+
//.permission(Permission.REQUEST_INSTALL_PACKAGES) //支持8.0及以上请求安装权限
26+
//.permission(Permission.SYSTEM_ALERT_WINDOW) //支持请求6.0及以上悬浮窗权限
27+
.permission(Permission.Group.STORAGE) //不指定权限则自动获取清单中的危险权限
2728
.request(new OnPermission() {
2829

2930
@Override
@@ -49,7 +50,7 @@ public void noPermission(List<String> denied, boolean quick) {
4950
}
5051

5152
public void isHasPermission(View view) {
52-
if (XXPermissions.isHasPermission(MainActivity.this, Permission.Group.STORAGE, Permission.Group.CAMERA)) {
53+
if (XXPermissions.isHasPermission(MainActivity.this, Permission.Group.STORAGE)) {
5354
Toast.makeText(MainActivity.this, "已经获取到权限,不需要再次申请了", Toast.LENGTH_SHORT).show();
5455
}else {
5556
Toast.makeText(MainActivity.this, "还没有获取到权限或者部分权限未授予", Toast.LENGTH_SHORT).show();

library/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ android {
88
defaultConfig {
99
minSdkVersion 11
1010
targetSdkVersion 26
11-
versionCode 36
12-
versionName "3.6"
11+
versionCode 38
12+
versionName "3.8"
1313
}
1414
}
1515

1616
publish {
1717
userOrg = 'getactivity'//填写bintray用户名,注意大小写
1818
groupId = 'com.hjq'//定义的maven group id最终引用形式
1919
artifactId = 'xxpermissions'//maven的artifact id
20-
version = '3.6'//maven 上发布版本号
20+
version = '3.8'//maven 上发布版本号
2121
description = 'Android 6.0 permissions adaptation framework'//描述,自己定义
2222
website = "https://github.com/getActivity/XXPermissions"//项目在github中的地址
2323
}

library/src/main/java/com/hjq/permissions/Permission.java

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
*/
99
public final class Permission {
1010

11-
public static final String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES"; // 8.0应用安装权限
11+
public static final String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES"; // 8.0及以上应用安装权限
1212

13-
public static final String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW"; // 6.0悬浮窗权限
13+
public static final String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW"; // 6.0及以上悬浮窗权限
1414

1515
public static final String READ_CALENDAR = "android.permission.READ_CALENDAR"; // 读取日程提醒
1616
public static final String WRITE_CALENDAR = "android.permission.WRITE_CALENDAR"; // 写入日程提醒
@@ -47,20 +47,11 @@ public final class Permission {
4747

4848
public static final class Group {
4949

50-
// 安装
51-
public static final String[] INSTALL = new String[]{Permission.REQUEST_INSTALL_PACKAGES};
52-
53-
// 悬浮窗
54-
public static final String[] WINDOW = new String[]{Permission.SYSTEM_ALERT_WINDOW};
55-
5650
// 日历
5751
public static final String[] CALENDAR = new String[]{
5852
Permission.READ_CALENDAR,
5953
Permission.WRITE_CALENDAR};
6054

61-
// 摄像头
62-
public static final String[] CAMERA = new String[]{Permission.CAMERA};
63-
6455
// 联系人
6556
public static final String[] CONTACTS = new String[]{
6657
Permission.READ_CONTACTS,
@@ -72,30 +63,6 @@ public static final class Group {
7263
Permission.ACCESS_FINE_LOCATION,
7364
Permission.ACCESS_COARSE_LOCATION};
7465

75-
// 话筒
76-
public static final String[] MICROPHONE = new String[]{Permission.RECORD_AUDIO};
77-
78-
// 电话
79-
public static final String[] PHONE = new String[]{
80-
Permission.READ_PHONE_STATE,
81-
Permission.CALL_PHONE,
82-
Permission.READ_CALL_LOG,
83-
Permission.WRITE_CALL_LOG,
84-
Permission.ADD_VOICEMAIL,
85-
Permission.USE_SIP,
86-
Permission.PROCESS_OUTGOING_CALLS};
87-
88-
// 传感器
89-
public static final String[] SENSORS = new String[]{Permission.BODY_SENSORS};
90-
91-
// 短信
92-
public static final String[] SMS = new String[]{
93-
Permission.SEND_SMS,
94-
Permission.RECEIVE_SMS,
95-
Permission.READ_SMS,
96-
Permission.RECEIVE_WAP_PUSH,
97-
Permission.RECEIVE_MMS};
98-
9966
// 存储
10067
public static final String[] STORAGE = new String[]{
10168
Permission.READ_EXTERNAL_STORAGE,

library/src/main/java/com/hjq/permissions/PermissionFragment.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ public final class PermissionFragment extends Fragment {
2727
private static final String REQUEST_CONSTANT = "request_constant";
2828

2929
private final static SparseArray<OnPermission> sContainer = new SparseArray<>();
30-
private static long sRequestTime;//请求的时间
3130

3231
public static PermissionFragment newInstant(ArrayList<String> permissions, boolean constant) {
3332
PermissionFragment fragment = new PermissionFragment();
@@ -62,6 +61,8 @@ public void onActivityCreated(Bundle savedInstanceState) {
6261

6362
ArrayList<String> permissions = getArguments().getStringArrayList(PERMISSION_GROUP);
6463

64+
if (permissions == null) return;
65+
6566
if ((permissions.contains(Permission.REQUEST_INSTALL_PACKAGES) && !PermissionUtils.isHasInstallPermission(getActivity()))
6667
|| (permissions.contains(Permission.SYSTEM_ALERT_WINDOW) && !PermissionUtils.isHasOverlaysPermission(getActivity()))) {
6768

@@ -77,13 +78,8 @@ public void onActivityCreated(Bundle savedInstanceState) {
7778
startActivityForResult(intent, getArguments().getInt(REQUEST_CODE));
7879
}
7980

80-
//记录本次申请时间
81-
sRequestTime = System.currentTimeMillis();
82-
8381
} else {
8482
requestPermission();
85-
//记录本次申请时间
86-
sRequestTime = System.currentTimeMillis();
8783
}
8884
}
8985

0 commit comments

Comments
 (0)