0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发电话服务:ohos.telephony.sim之SIM卡管理

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-16 22:28 次阅读

SIM卡管理

说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

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

sim.isSimActive7+

isSimActive(slotId: number, callback: AsyncCallback): void

获取指定卡槽SIM卡是否激活,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback回调函数。

示例:

sim.isSimActive(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.isSimActive7+

isSimActive(slotId: number): Promise

获取指定卡槽SIM卡是否激活,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise以Promise形式返回指定卡槽是否激活,如果激活返回true。

示例:

let promise = sim.isSimActive(0);
promise.then(data = > {
    console.log(`isSimActive success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`isSimActive fail, promise: err- >${JSON.stringify(err)}`);
});

sim.getDefaultVoiceSlotId7+

getDefaultVoiceSlotId(callback: AsyncCallback): void

获取默认语音业务的卡槽ID,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
callbackAsyncCallback回调函数。

示例:

sim.getDefaultVoiceSlotId((err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.getDefaultVoiceSlotId7+

getDefaultVoiceSlotId(): Promise

获取默认语音业务的卡槽ID,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

返回值:

类型说明
Promise以Promise形式返回默认语音业务的卡槽ID。

示例:

let promise = sim.getDefaultVoiceSlotId();
promise.then(data = > {
    console.log(`getDefaultVoiceSlotId success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`getDefaultVoiceSlotId fail, promise: err- >${JSON.stringify(err)}`);
});

sim.hasOperatorPrivileges7+

hasOperatorPrivileges(slotId: number, callback: AsyncCallback): void

检查应用(调用者)是否已被授予运营商权限,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback回调函数。

示例:

sim.hasOperatorPrivileges(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.hasOperatorPrivileges7+

hasOperatorPrivileges(slotId: number): Promise

检查应用(调用者)是否已被授予运营商权限,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise以Promise形式返回检查应用(调用者)是否已被授予运营商权限。

示例:

let promise = sim.hasOperatorPrivileges(0);
promise.then(data = > {
    console.log(`hasOperatorPrivileges success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`hasOperatorPrivileges fail, promise: err- >${JSON.stringify(err)}`);
});

sim.getISOCountryCodeForSim

getISOCountryCodeForSim(slotId: number, callback: AsyncCallback): void

获取指定卡槽SIM卡的ISO国家码,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback回调函数。返回国家码,例如:CN(中国)。

示例:

sim.getISOCountryCodeForSim(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.getISOCountryCodeForSim

getISOCountryCodeForSim(slotId: number): Promise

获取指定卡槽SIM卡的ISO国家码,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise以Promise形式返回获取指定卡槽SIM卡的ISO国家码,例如:CN(中国)。

示例:

let promise = sim.getISOCountryCodeForSim(0);
promise.then(data = > {
    console.log(`getISOCountryCodeForSim success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`getISOCountryCodeForSim fail, promise: err- >${JSON.stringify(err)}`);
});

sim.getSimOperatorNumeric

getSimOperatorNumeric(slotId: number, callback: AsyncCallback): void

获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback回调函数。

示例:

sim.getSimOperatorNumeric(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.getSimOperatorNumeric

getSimOperatorNumeric(slotId: number): Promise

获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise以Promise形式返回获取指定卡槽SIM卡的归属PLMN号。

示例:

let promise = sim.getSimOperatorNumeric(0);
promise.then(data = > {
    console.log(`getSimOperatorNumeric success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`getSimOperatorNumeric fail, promise: err- >${JSON.stringify(err)}`);
});

sim.getSimSpn

getSimSpn(slotId: number, callback: AsyncCallback): void

获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback回调函数。

示例:

sim.getSimSpn(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.getSimSpn

getSimSpn(slotId: number): Promise

获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise以Promise形式返回获取指定卡槽SIM卡的SPN。

示例:

let promise = sim.getSimSpn(0);
promise.then(data = > {
    console.log(`getSimSpn success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`getSimSpn fail, promise: err- >${JSON.stringify(err)}`);
});

sim.getSimState

getSimState(slotId: number, callback: AsyncCallback): void

获取指定卡槽的SIM卡状态,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback<[SimState]>回调函数。参考SimState

示例:

sim.getSimState(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.getSimState

getSimState(slotId: number): Promise

获取指定卡槽的SIM卡状态,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise<[SimState]>以Promise形式返回获取指定卡槽的SIM卡状态。

示例:

let promise = sim.getSimState(0);
promise.then(data = > {
    console.log(`getSimState success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`getSimState fail, promise: err- >${JSON.stringify(err)}`);
});

sim.getCardType7+

getCardType(slotId: number, callback: AsyncCallback): void

获取指定卡槽SIM卡的卡类型,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback<[CardType]>回调函数。

示例:

sim.getCardType(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.getCardType7+

getCardType(slotId: number): Promise

获取指定卡槽SIM卡的卡类型,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise<[CardType]>以Promise形式返回指定卡槽SIM卡的卡类型。

示例:

let promise = sim.getCardType(0);
promise.then(data = > {
    console.log(`getCardType success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`getCardType fail, promise: err- >${JSON.stringify(err)}`);
});

sim.hasSimCard7+

hasSimCard(slotId: number, callback: AsyncCallback): void

获取指定卡槽SIM卡是否插卡,使用callback方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackAsyncCallback回调函数。

示例:

sim.hasSimCard(0, (err, data) = > {
    console.log(`callback: err- >${JSON.stringify(err)}, data- >${JSON.stringify(data)}`);
});

sim.hasSimCard7+

hasSimCard(slotId: number): Promise

获取指定卡槽SIM卡是否插卡,使用Promise方式作为异步方法。

系统能力 :SystemCapability.Communication.CoreService

参数:

参数名类型必填说明
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型说明
Promise以Promise形式返回指定卡槽是否插卡,如果插卡返回true。

示例:

let promise = sim.hasSimCard(0);
promise.then(data = > {
    console.log(`hasSimCard success, promise: data- >${JSON.stringify(data)}`);
}).catch(err = > {
    console.log(`hasSimCard fail, promise: err- >${JSON.stringify(err)}`);
});

sim.getMaxSimCount7+

getMaxSimCount(): number

获取卡槽数量。

系统能力 :SystemCapability.Communication.CoreService

返回值:

类型说明
number卡槽数量。

示例:

console.log("Result: "+sim.getMaxSimCount())

SimState

SIM卡状态。

系统能力 :以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称说明
SIM_STATE_UNKNOWN0SIM卡状态未知,即无法获取准确的状态。
SIM_STATE_NOT_PRESENT1表示SIM卡处于not present状态,即卡槽中没有插入SIM卡。
SIM_STATE_LOCKED2表示SIM卡处于locked状态,即SIM卡被PIN、PUK或网络锁锁定。
SIM_STATE_NOT_READY3表示SIM卡处于not ready状态,即SIM卡在位但无法正常工作。
SIM_STATE_READY4表示SIM卡处于ready状态,即SIM卡在位且工作正常。
SIM_STATE_LOADED5表示SIM卡处于loaded状态,即SIM卡在位且所有卡文件加载完毕。HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151344.png

CardType7+

卡类型。

系统能力 :以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称说明
UNKNOWN_CARD-1未知类型
SINGLE_MODE_SIM_CARD10单SIM卡
SINGLE_MODE_USIM_CARD20单USIM卡
SINGLE_MODE_RUIM_CARD30单RUIM卡
DUAL_MODE_CG_CARD40双卡模式C+G
CT_NATIONAL_ROAMING_CARD41中国电信内部漫游卡
CU_DUAL_MODE_CARD42中国联通双模卡
DUAL_MODE_TELECOM_LTE_CARD43双模式电信LTE卡
DUAL_MODE_UG_CARD50双模式UG卡
SINGLE_MODE_ISIM_CARD8+60单一ISIM卡类型

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SIM卡
    +关注

    关注

    6

    文章

    277

    浏览量

    28389
  • 鸿蒙
    +关注

    关注

    56

    文章

    2266

    浏览量

    42467
收藏 人收藏

    评论

    相关推荐

    原来手机SIM的PCB设计是这样的!

    SIM(SubscriberIdentityModule)是移动电话机中的一块智能芯片,它的主要功能是存储用户的身份识别信息。一张符合GSM规范的
    的头像 发表于 07-26 08:08 1572次阅读
    原来手机<b class='flag-5'>SIM</b><b class='flag-5'>卡</b>的PCB设计是这样的!

    鸿蒙实战项目开发:【短信服务

    数据管理 电话服务 分布式应用开发 通知与窗口管理 多媒体技术 安全技能 任务管理 WebGL
    发表于 03-03 21:29

    鸿蒙实战开发:【SIM管理

    码,getSimOperatorNumeric方法获取指定SIM的归属PLMN号,getDefaultVoiceSlotId方法获取默认语音业务的卡槽ID等开发电话
    发表于 03-04 22:18

    #镍氢电池 #SIM

    SIM
    jf_97106930
    发布于 :2023年05月19日 09:47:38

    HarmonyOS API Version 7版本特性说明

    4所示,提供基于蜂窝网络的电话服务能力,包括SIM、搜网、短彩信、蜂窝数据、通话管理、网络管理
    发表于 11-30 15:19

    HarmonyOS API Version 7版本特性说明

    4所示,提供基于蜂窝网络的电话服务能力,包括SIM、搜网、短彩信、蜂窝数据、通话管理、网络管理
    发表于 12-01 10:35

    SIM

    SIM 也称为用户识别,是数字移动电话的一张资料,它记录着用户的身份识别及密钥,可供GSM
    发表于 12-19 10:40 1094次阅读

    iphone5采用nano-SIM 普通SIM不能剪成nano-SIM

    iPhone 5采用的是更小的nano-SIM,苹果也明确表示,iPhone 5不兼容micro-SIM。要买iPhone 5的同学要知道普通SIM
    发表于 09-13 14:23 9892次阅读

    如何设置手机SIMPIN密码

    SIM是,也称为用户身份识别、智能,GSM数字移动电话机必须装上此方能使用。在电脑芯片上
    的头像 发表于 03-06 15:13 7.8w次阅读
    如何设置手机<b class='flag-5'>SIM</b><b class='flag-5'>卡</b>PIN密码

    基于Android智能终端的虚拟SIM软件实现

    为了满足移动用户境外出行时的上网需求,设计实现了一种基于Android智能终端的虚拟SIM软件,支持用户通过终端下载漫游地SIM信息,并且可以通过使用下载的卡参数鉴权入网,以接近漫
    的头像 发表于 08-07 10:01 2.7w次阅读

    SIMGPRS模块知识详解 浅谈SIMGPRS原理模块

    SIM是(Subscriber Identification Module ),也称为用户身份识别、智能,GSM数字移动电话机必须装上
    的头像 发表于 09-11 09:39 4w次阅读

    SIM卡座与SIM的应用领域都有哪些

    计费).而应该是多种运用的渠道。这意味着SIM不只具有现在的辅佐功用(电话薄存储、消息存储、激活不同的效劳、呼叫约束和观运用履行),并且有可能集成银行、社保、公交等各种职业运用于一身,各运用之间选用相似防火墙的技能进行维护,从
    的头像 发表于 09-24 18:01 3595次阅读

    simpin码怎么设置 simpin码怎么重置

    SIMPIN码是一种用于保护SIM的安全性的功能,它要求在每次启动手机或更换SIM时输入正
    的头像 发表于 01-31 14:34 1.7w次阅读

    鸿蒙开发实战:【电话服务子系统】

    电话服务子系统,提供了一系列的API用于获取无线蜂窝网络和SIM相关的一些信息。应用可以通过调用API来获取当前注册网络名称、网络服务状态
    的头像 发表于 03-14 21:49 260次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>实战:【<b class='flag-5'>电话</b><b class='flag-5'>服务</b>子系统】

    鸿蒙开发电话服务ohos.telephony.data蜂窝数据

    获取默认移动数据的SIM,使用callback方式作为异步方法。
    的头像 发表于 06-18 09:31 200次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发电话</b><b class='flag-5'>服务</b>:<b class='flag-5'>ohos.telephony</b>.data<b class='flag-5'>之</b>蜂窝数据