HarmonyOS 鸿蒙Next 如何获取sim卡手机号码(sdk 3.1.0, API 9, HarmonyOS),使用真机mate 60 调试

HarmonyOS 鸿蒙Next 如何获取sim卡手机号码(sdk 3.1.0, API 9, HarmonyOS),使用真机mate 60 调试

sdk 3.1.0, API 9, harmonyOS开发,文档里面标注着有 
getSimTelephoneNumber这个方法,但是编辑器里面提示没有

cke_762.png

后来查了一下帖子说需要配置权限,但是配置了重新签名之后真机调试无法打包,会报错,去掉就没事了

cke_6224.png

cke_15599.png


更多关于HarmonyOS 鸿蒙Next 如何获取sim卡手机号码(sdk 3.1.0, API 9, HarmonyOS),使用真机mate 60 调试的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

可以使用下面的代码,看看获取数据是否正常:

let promise = sim.getSimTelephoneNumber(0);

promise.then(data => {
    console.log(`getSimTelephoneNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getSimTelephoneNumber failed, promise: err->${JSON.stringify(err)}`);
});

更多关于HarmonyOS 鸿蒙Next 如何获取sim卡手机号码(sdk 3.1.0, API 9, HarmonyOS),使用真机mate 60 调试的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


没用,你这个只是写法不用而已,

我也遇到同样问题,

GET_TELEPHONY_STATE 属于 ACL,需要在 AGC 平台创建对应应用,填写资料一堆,申请这个权限后,下载对应调试证书才能用。

目前卡在审核资料,我只是写个 demo,还要搞这么正式,烦死了

在HarmonyOS Next中,获取SIM卡手机号码可以通过TelephonyManager类来实现。以下是一个示例代码,展示了如何在HarmonyOS 3.1.0(API 9)上获取SIM卡手机号码:

import telephony from '@ohos.telephony.telephony';

// 获取TelephonyManager实例
let telephonyManager = telephony.getDefault();

// 获取SIM卡手机号码
telephonyManager.getLine1Number().then((number) => {
    console.log("SIM卡手机号码: " + number);
}).catch((err) => {
    console.error("获取手机号码失败: " + err);
});

在上述代码中,getLine1Number方法用于获取SIM卡的手机号码。这个方法返回一个Promise对象,成功时返回手机号码,失败时返回错误信息。

在使用Mate 60真机调试时,确保设备已插入SIM卡,并且应用已获取ohos.permission.GET_TELEPHONY_STATE权限。权限配置在config.json文件中如下:

{
    "module": {
        "reqPermissions": [
            {
                "name": "ohos.permission.GET_TELEPHONY_STATE"
            }
        ]
    }
}

以上代码和配置可以帮助你在HarmonyOS Next中获取SIM卡手机号码。

回到顶部