修改 授权

This commit is contained in:
xuli3099
2025-08-18 11:32:35 +08:00
parent c3498510c6
commit 0676f3e0a4
2 changed files with 57 additions and 42 deletions

View File

@@ -42,8 +42,6 @@ export const requestAndroidPermissionAsync = (systemInfo, permissions) => {
}
// 安卓同步调用
export const requestAndroidPermission = (systemInfo) => {
let granted = false;
@@ -123,18 +121,66 @@ const goPermission = () => {
})
}
// 跳转授权按钮
// 跳转授权
const jumpAuthPermission = () => {
var main = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass('android.content.Intent');
var Uri = plus.android.importClass('android.net.Uri');
var Build = plus.android.importClass('android.os.Build');
var Settings = plus.android.importClass('android.provider.Settings');
var PackageManager = plus.android.importClass('android.content.pm.PackageManager');
var pkg = main.getPackageName();
var intent = new Intent('android.settings.APPLICATION_DETAILS_SETTINGS');
intent.setData(Uri.parse('package:' + pkg));
main.startActivity(intent);
setTimeout(() => {
uni.reLaunch({
url: '/pages/loading/loading',
});
}, 1000)
var intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
// 尝试直接跳转到存储权限设置Android 13+ 支持)
if (Build.VERSION.SDK_INT >= 33) {
// Android 13+ 尝试直接打开存储权限页面
intent.setAction(Settings.ACTION_MANAGE_APP_PERMISSIONS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, pkg);
// 指定权限类型为存储需要Android 13+支持)
intent.putExtra(Settings.EXTRA_PERMISSION_NAME, "android.permission.READ_EXTERNAL_STORAGE");
}
// Android 11-12 尝试直接跳转到权限列表
else if (Build.VERSION.SDK_INT >= 30) {
intent.setAction(Settings.ACTION_MANAGE_APP_PERMISSIONS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, pkg);
}
// Android 6.0-10 跳转到应用详情页(用户需手动点击权限)
else if (Build.VERSION.SDK_INT >= 23) {
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", pkg, null);
intent.setData(uri);
}
// 低版本系统
else {
intent.setAction(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
}
main.startActivity(intent);
setTimeout(() => {
uni.reLaunch({
url: '/pages/loading/loading',
});
}, 1000)
} catch (e) {
// 异常情况下降级处理
console.error("跳转存储权限页面失败,使用备用方案", e);
var fallbackIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
fallbackIntent.setData(Uri.parse('package:' + pkg));
fallbackIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
main.startActivity(fallbackIntent);
setTimeout(() => {
uni.reLaunch({
url: '/pages/loading/loading',
});
}, 1000)
}
}