已经授权通讯录读写权限后,直接调用plus.contacts.getAddressBook闪退
- 发布:2023-06-26 15:39
- 更新:2024-05-15 21:57
- 阅读:191
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Win10 22H2
HBuilderX类型: 正式
HBuilderX版本号: 3.8.4
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: P40
页面类型: vue
vue版本: vue2
打包方式: 离线
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常返回通讯录结果
正常返回通讯录结果
实际结果:
plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) {})
plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) {})
bug描述:
调用后直接报错:
java.lang.NullPointerException: Attempt to invoke interface method 'int android.database.Cursor.getCount()' on a null object reference
at io.dcloud.feature.contacts.ContactAccessorImpl.populateContactArray(ContactAccessorImpl.java:209)
at io.dcloud.feature.contacts.ContactAccessorImpl.search(ContactAccessorImpl.java:175)
at io.dcloud.feature.contacts.JsContactsMgr.execute(JsContactsMgr.java:82)
at io.dcloud.feature.contacts.ContactsFeatureImpl$1.run(ContactsFeatureImpl.java:29)
2 个回复
s***@cards-star.com (作者)
补充一下,如果无法复现,请在大批量通讯录导入试试,例如手机通讯录在30000条左右试试
夏至友人帐
想问一下这个问题解决了吗?现在也发现有这个问题,只要读取的通讯录数量过多就会闪退。不确定是哪的问题,感觉有可能是内存占用问题导致的