详细问题描述
手机通话记录和短信的权限,利用native.js调用checkSelfPermission检查权限,始终返回0,权限禁止也是返回0,严重影响项目。
同样的使用requestPermissions也无法申请这两个权限
通讯录权限是正常的,没有问题
[内容]
重现步骤
[步骤]
在页面的onLoad内执行如下代码
let Build = plus.android.importClass('android.os.Build');
let Manifest = plus.android.importClass('android.Manifest');
let MainActivity = plus.android.runtimeMainActivity();
let ArrPermissions [Manifest.permission.READ_CONTACTS,Manifest.permission.READ_SMS,Manifest.permission.READ_CALL_LOG];
if (Build.VERSION.SDK_INT >= 23) {
let REQUEST_CODE_CONTACT = 101;
for (let index in ArrPermissions) {
console.log(MainActivity.checkSelfPermission(ArrPermissions[index]));
if (MainActivity.checkSelfPermission(ArrPermissions[index]) == -1) {
MainActivity.requestPermissions([ArrPermissions[index]], REQUEST_CODE_CONTACT);
}
}
}
[结果]
通讯录权限的授权状态检查和申请没有问题,
短信和通话记录的状态无论设置禁止还是询问,始终获取的是允许状态,且无法调起授权
[期望]
能够正常判断权限和申请权限
IDE运行环境说明
HBuilderX
[IDE版本号]
1.9.1
[windows版本号]
win10 18875
[运行端是h5或app或某个小程序?]
app
[运行端版本号]
安卓P
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX创建
App运行环境说明
[Android版本号]
安卓9.0 安卓8.1
[手机型号]
一加6 A6000,小米6x 红米5
附件
[可重现代码片段]
let Build = plus.android.importClass('android.os.Build');
let Manifest = plus.android.importClass('android.Manifest');
let MainActivity = plus.android.runtimeMainActivity();
let ArrPermissions [Manifest.permission.READ_CONTACTS,Manifest.permission.READ_SMS,Manifest.permission.READ_CALL_LOG];
if (Build.VERSION.SDK_INT >= 23) {
let REQUEST_CODE_CONTACT = 101;
for (let index in ArrPermissions) {
console.log(MainActivity.checkSelfPermission(ArrPermissions[index]));
if (MainActivity.checkSelfPermission(ArrPermissions[index]) == -1) {
MainActivity.requestPermissions([ArrPermissions[index]], REQUEST_CODE_CONTACT);
}
}
}
联系方式
手机:15216523713
QQ:731473191