diff --git a/app/build.gradle b/app/build.gradle
index 799e076..88e6d91 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -176,4 +176,5 @@ dependencies {
implementation 'com.github.getActivity:Toaster:12.6'
//沉浸状态栏
implementation 'com.gitee.zackratos:UltimateBarX:0.8.0'
+ implementation 'com.github.andywu91:XAPKInstaller:1.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 528287b..7bb2ab8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -20,6 +20,7 @@
+
+
Build.VERSION_CODES.Q){
+ XXPermissions.with(this)
+ // 申请单个权限
+ .permission(PermissionUtils.Location_Permission)
+ // 申请多个权限
// .permission(Permission.Group.STORAGE)
- // 设置权限请求拦截器(局部设置)
- //.interceptor(new PermissionInterceptor())
- // 设置不触发错误检测机制(局部设置)
- //.unchecked()
- .request(new OnPermissionCallback() {
- @Override
- public void onGranted(@NonNull List permissions, boolean allGranted) {
- Log.e(TAG, "onGranted: permissions = " + permissions + " allGranted = " + allGranted);
- if (!allGranted) {
+ // 设置权限请求拦截器(局部设置)
+ //.interceptor(new PermissionInterceptor())
+ // 设置不触发错误检测机制(局部设置)
+ //.unchecked()
+ .request(new OnPermissionCallback() {
+ @Override
+ public void onGranted(@NonNull List permissions, boolean allGranted) {
+ Log.e(TAG, "onGranted: permissions = " + permissions + " allGranted = " + allGranted);
+ if (!allGranted) {
// Toaster.show("获取部分权限成功,但部分权限未正常授予");
- return;
- }
- Log.e(TAG, "onGranted: 获取权限成功");
+ return;
+ }
+ Log.e(TAG, "onGranted: 获取权限成功");
// getFile();
// getPermssions();
// requestDirectoryAccess();
- }
-
- @Override
- public void onDenied(@NonNull List permissions, boolean doNotAskAgain) {
- Log.e(TAG, "onDenied: permissions = " + permissions + " doNotAskAgain = " + doNotAskAgain);
- if (doNotAskAgain) {
- Toaster.show("被永久拒绝授权,请手动授予权限");
- // 如果是被永久拒绝就跳转到应用权限系统设置页面
- XXPermissions.startPermissionActivity(MainActivity.this, permissions);
- } else {
- Log.e(TAG, "onGranted: 获取权限失败");
}
- }
- });
+
+ @Override
+ public void onDenied(@NonNull List permissions, boolean doNotAskAgain) {
+ Log.e(TAG, "onDenied: permissions = " + permissions + " doNotAskAgain = " + doNotAskAgain);
+ if (doNotAskAgain) {
+ Toaster.show("被永久拒绝授权,请手动授予权限");
+ // 如果是被永久拒绝就跳转到应用权限系统设置页面
+ XXPermissions.startPermissionActivity(MainActivity.this, permissions);
+ } else {
+ Log.e(TAG, "onGranted: 获取权限失败");
+ }
+ }
+ });
+ }else {
+ XXPermissions.with(this)
+ // 申请单个权限
+ .permission(PermissionUtils.Location_Permission_old)
+ // 申请多个权限
+// .permission(Permission.Group.STORAGE)
+ // 设置权限请求拦截器(局部设置)
+ //.interceptor(new PermissionInterceptor())
+ // 设置不触发错误检测机制(局部设置)
+ //.unchecked()
+ .request(new OnPermissionCallback() {
+ @Override
+ public void onGranted(@NonNull List permissions, boolean allGranted) {
+ Log.e(TAG, "onGranted: permissions = " + permissions + " allGranted = " + allGranted);
+ if (!allGranted) {
+// Toaster.show("获取部分权限成功,但部分权限未正常授予");
+ return;
+ }
+ Log.e(TAG, "onGranted: 获取权限成功");
+// getFile();
+// getPermssions();
+// requestDirectoryAccess();
+ }
+
+ @Override
+ public void onDenied(@NonNull List permissions, boolean doNotAskAgain) {
+ Log.e(TAG, "onDenied: permissions = " + permissions + " doNotAskAgain = " + doNotAskAgain);
+ if (doNotAskAgain) {
+ Toaster.show("被永久拒绝授权,请手动授予权限");
+ // 如果是被永久拒绝就跳转到应用权限系统设置页面
+ XXPermissions.startPermissionActivity(MainActivity.this, permissions);
+ } else {
+ Log.e(TAG, "onGranted: 获取权限失败");
+ }
+ }
+ });
+ }
+
}
private void getInstallPermission() {
@@ -516,8 +560,14 @@ public class MainActivity extends BaseMvvmActivity
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml
index c69abbb..e48eca5 100644
--- a/app/src/main/res/xml/file_paths.xml
+++ b/app/src/main/res/xml/file_paths.xml
@@ -15,4 +15,8 @@
+
+