另外android权限判断在6.0下没法直接判断然后通过代码设置,建议还是通过异常错误判断然后提示一下用户去手动修改权限。
判断权限是否存在
打开权限设置
var r = null;
mui.plusReady(function () {
document.querySelector('#btn1').addEventListener('tap',function () {
r = plus.audio.getRecorder();
r.record({
filename:"_doc/audio/"
}, function () {
mui.toast("Audio record success!");
}, function (e) {
console.log(JSON.stringify(e));
if(e.code === 3){
mui.toast("Audio无权限,请先去设置!");
openSetting();
}
});
})
/*打开权限设置页面*/
function openSetting () {
// 注意修改包名
var packageName = "io.dcloud.HBuilder";
var main = plus.android.runtimeMainActivity();
var Uri = plus.android.importClass("android.net.Uri");
var Settings = plus.android.importClass("android.provider.Settings");
var packageURI = Uri.parse("package:" + packageName);
var intent = plus.android.newObject("android.content.Intent", Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI);
main.startActivity(intent);
}
// 打开权限设置
document.querySelector('#btn2').addEventListener('tap',function () {
openSetting();
})
})