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)

}

})

}

})

},

相关推荐
2501_915106327 小时前
iOS数据采集技术详解:从性能监控到崩溃分析的全链路实践
android·ios·小程序·https·uni-app·iphone·webview
我爱写代码i1 天前
AI对话绘画数字人源码 - uniapp前端
前端·人工智能·uni-app
ModyQyW1 天前
vite-plugin-uni-pages 更新了什么
前端·uni-app
2501_915918411 天前
Flutter项目配置iOS混淆的详细步骤与工具推荐
android·flutter·ios·小程序·uni-app·cocoa·iphone
梦曦i1 天前
create-uni-app v1.2.0:交互体验优化
前端·uni-app
lhldsg2 天前
智慧场馆解决方案小程序开发实战:从架构设计到部署指南
java·小程序·uni-app
skiyee2 天前
🚀 用 17 行代码给 UniApp 加上全局登录拦截
前端·uni-app
Mark108592 天前
【踩坑】Uni-app微信小程序自定义组件在 Flex 布局中未铺满整行
微信小程序·小程序·uni-app
梦曦i2 天前
create-uni-app v1.1.0:结构化生成,工程骨架更规范
前端·uni-app
2501_916007473 天前
Flutter与游戏App加固避坑指南:如何为混合开发与高交互应用选对安全方案?
安全·flutter·游戏·ios·小程序·uni-app·iphone