HarmonyOS 鸿蒙Next 读取手机联系人失败,报权限错误
HarmonyOS 鸿蒙Next 读取手机联系人失败,报权限错误 开发中需要做一个读取本地联系人并显示为是否是好友的功能,参照官方文档在AGC中已经配置了通讯录读写权限,工程中也配置了通讯录读权限,但是在运行时依然会报权限不足的错误,要怎么解决这个问题?
在AGC上申请了受限权限,此时会生成新的Profile,需要在build-profile.json5里面将签名信息删除,重新手动配置签名,需要保持Profile一致,若在调试阶段,可直接在module.json5配置权限后使用自动签名即可,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5#section9786111152213
写入联系人可参考以下demo:
import common from '@ohos.app.ability.common';
import { BusinessError } from '@kit.BasicServicesKit';
@Component
struct Index {
build() {
Row() {
Column() {
Button('拉起新建联系人界面').fontSize(24).fontWeight(FontWeight.Bold)
.onClick(() =>{
let context = getContext(this) as common.UIAbilityContext;
startContact(context);
}).margin(10)
}.width('100%')
}.height('100%')
}
}
function startContact(context: common.UIAbilityContext) : void {
context.startAbility({
bundleName: 'com.ohos.contacts',
abilityName: 'com.ohos.contacts.MainAbility',
parameters: {
phoneNumber: 19900000000,
pageFlag: 'page_flag_save_contact'
}
}).then(() =>{
console.info('successfully.');
}).
catch((err: BusinessError) =>{
console.error(`Failed Code: ${err.code},
message: ${err.message}`);
});
}
更多关于HarmonyOS 鸿蒙Next 读取手机联系人失败,报权限错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
使用@kit.ContactsKit 是不需要所谓的权限。
你好,可以对照检查一下, 【HarmonyOS】获取通讯录信息_鸿蒙 通讯录-CSDN博客
针对“HarmonyOS 鸿蒙Next 读取手机联系人失败,报权限错误”的问题,可能的原因及解决方案如下:
-
检查权限声明: 确保你的应用在
manifest.json
或相应的配置文件中已正确声明读取联系人的权限。HarmonyOS有特定的权限标识,需要按照官方文档进行配置。 -
动态权限请求: 如果你的应用目标版本支持动态权限管理(即运行时权限请求),确保在应用尝试访问联系人之前,已向用户请求并获得了该权限。这通常涉及调用系统的权限请求API。
-
用户授权状态: 检查用户是否已授予应用读取联系人的权限。用户可以在系统设置的应用权限管理页面中查看和修改这些权限。
-
系统策略限制: 某些情况下,系统策略可能限制应用访问联系人。例如,当应用处于后台时,可能无法访问敏感数据。确保应用在前台时尝试访问联系人。
如果以上步骤均无法解决问题,可能是系统或应用层面的bug。此时,建议直接联系官网客服以获取进一步的技术支持。官网地址是:https://www.itying.com/category-93-b0.html,