uni-app 安卓手机判断是否开启相机相册权限

// 安卓相机权限

androidCameraPermiss(index){

plus.android.requestPermissions('android.permission.CAMERA',(e) => {

if (e.deniedAlways.length > 0) {

this.androidAuthCamera = false

// 弹出提示框解释为何需要权限,引导用户打开设置页面开启

uni.showModal({

title: '提示',

content: '请打开手机相机相册功能(点击确定后在权限中授权相机相册功能)',

// showCancel: false, // 不显示取消按钮

success(res) {

if (res.confirm) {

var Intent = plus.android.importClass("android.content.Intent");

var Settings = plus.android.importClass(

"android.provider.Settings");

var Uri = plus.android.importClass("android.net.Uri");

var mainActivity = plus.android.runtimeMainActivity();

var intent = new Intent();

intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);

var uri = Uri.fromParts("package", mainActivity.getPackageName(),

null);

intent.setData(uri);

mainActivity.startActivity(intent);

}

}

});

} else if (e.deniedPresent.length > 0) { //权限被临时拒绝

this.androidAuthCamera = false

// 弹出提示框解释为何需要权限,可再次调用plus.android.requestPermissions申请权限

uni.showModal({

title: '提示',

content: '请打开手机相机功能(点击确定后在权限中授权相机功能)',

// showCancel: false, // 不显示取消按钮

success(res) {

if (res.confirm) {

var Intent = plus.android.importClass("android.content.Intent");

var Settings = plus.android.importClass(

"android.provider.Settings");

var Uri = plus.android.importClass("android.net.Uri");

var mainActivity = plus.android.runtimeMainActivity();

var intent = new Intent();

intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);

var uri = Uri.fromParts("package", mainActivity.getPackageName(),

null);

intent.setData(uri);

mainActivity.startActivity(intent);

}

}

});

} else {

plus.android.requestPermissions('android.permission.READ_EXTERNAL_STORAGE', (e) => {

if (e.deniedAlways.length > 0) { //权限被永久拒绝

// 弹出提示框解释为何需要权限,引导用户打开设置页面开启

uni.showModal({

title: '提示',

content: '请打开相册存储功能(点击确定后在权限中授权相册存储功能)',

// showCancel: false, // 不显示取消按钮

success(res) {

if (res.confirm) {

var Intent = plus.android.importClass(

"android.content.Intent");

var Settings = plus.android.importClass(

"android.provider.Settings");

var Uri = plus.android.importClass("android.net.Uri");

var mainActivity = plus.android.runtimeMainActivity();

var intent = new Intent();

intent.setAction(Settings

.ACTION_APPLICATION_DETAILS_SETTINGS);

var uri = Uri.fromParts("package", mainActivity

.getPackageName(),

null);

intent.setData(uri);

mainActivity.startActivity(intent);

}

}

});

} else if (e.deniedPresent.length > 0) { //权限被临时拒绝

this.androidAuthCamera = false

// 弹出提示框解释为何需要权限,可再次调用plus.android.requestPermissions申请权限

uni.showModal({

title: '提示',

content: '请打开相册存储功能(点击确定后在权限中授权相册存储功能)',

// showCancel: false, // 不显示取消按钮

success(res) {

if (res.confirm) {

var Intent = plus.android.importClass(

"android.content.Intent");

var Settings = plus.android.importClass(

"android.provider.Settings");

var Uri = plus.android.importClass("android.net.Uri");

var mainActivity = plus.android.runtimeMainActivity();

var intent = new Intent();

intent.setAction(Settings

.ACTION_APPLICATION_DETAILS_SETTINGS);

var uri = Uri.fromParts("package", mainActivity

.getPackageName(),

null);

intent.setData(uri);

mainActivity.startActivity(intent);

}

}

});

} else {

this.androidAuthCamera = true

// 选择照片 uni.chooseImage()

this.chooseImage(index)

}

})

}

})

},

相关推荐
AI_AGENT_DEV_AI20 小时前
原生 APP 开发的开发优点
uni-app
JackieDYH1 天前
uniapp-通知滚动组件+轮播图组件封装-案例
uni-app·轮播图·通知
2501_915921432 天前
appuploader-cli 命令行上传 IPA 到 App Store Connect upload CI 集成
android·ci/cd·小程序·https·uni-app·iphone·webview
结网的兔子2 天前
【前端开发】UniApp 项目地图选型与Web-APP跨端迁移方案
前端·uni-app
2501_916007473 天前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
PedroQue993 天前
uni-app路由插件化:解锁高效开发新姿势
前端·uni-app
2501_915909063 天前
iOS 证书创建与管理 类型限制 p12 密码与云备份实操
android·ios·小程序·https·uni-app·iphone·webview
anyup3 天前
【2026年8月】uView Pro 千星,还拿到了 GVP
前端·uni-app·github
andr_gale4 天前
02_uniapp自定义上凸效果的底部TabBar
前端·javascript·uni-app·移动端
不爱说话郭德纲4 天前
uni-app x iOS 扫码模糊怎么办?AVFoundation 灰尘级别摄像头助你超广角聚焦
前端·uni-app·app