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 @@ + +