翻遍了社区和其他网站,获取手机通话记录的主要代码如下:
var CallLog = plus.android.importClass("android.provider.CallLog");
var Activity = plus.android.runtimeMainActivity();
var ContentResolver = plus.android.importClass("android.content.ContentResolver");
var resolver = Activity.getContentResolver();
plus.android.importClass(resolver);
var String = plus.android.importClass("java.lang.String");
var cursor = resolver.query(CallLog.Calls.CONTENT_URI, null, null, null, null);
代码写在页面的onLoad()里面
但是不管是自定义基座还是打包后安装,cursor 都是null,无法获取
android.permission.READ_CALL_LOG
android.permission.READ_CONTACTS
android.permission.WRITE_CALL_LOG
android.permission.WRITE_CONTACTS
以上几个大家提到的权限我都已经包含进去了
实在无奈,烦请各位给点意见,多谢多谢!
5 个回复
1***@163.com
你解决了吗
sunnyword
请问你解决了吗,我也是和你一样的问题
sunnyword
总算知道了,代码没有问题的,权限也没有问题是要打包之后才能获取到。这个帖子里面有评论说到了https://ask.dcloud.net.cn/question/61295
n***@163.com
说得不全对,要写一个检查权限的,看手机系统设置里面有没有开通权限,没有就跳转到权限设置设置读取通话记录权限,小米手机藏得比软深,开始我都准备放弃了,结果发现在小米手机读取通讯录那里还有一层点进去才能设置,总来说,是系统没开权限造成的,自定义基座好像设不了这个权限所以搞不起
2021-11-14 15:07
f***@126.com
这个问题我碰到过,一直都是打印null,但是把权限关闭再打开一次就是正常的,之后安装APP就没有这个情况了,我的是安卓8.1的系统
8***@qq.com
考虑考虑