diff --git "a/zh-cn/application-dev/js-reference/SIM\345\215\241\347\256\241\347\220\206.md" "b/zh-cn/application-dev/js-reference/SIM\345\215\241\347\256\241\347\220\206.md" new file mode 100755 index 0000000000000000000000000000000000000000..1daf3a6529e13551917c445a2e926eb552ab60cb --- /dev/null +++ "b/zh-cn/application-dev/js-reference/SIM\345\215\241\347\256\241\347\220\206.md" @@ -0,0 +1,836 @@ +# SIM卡管理 + +- [导入模块](#s56d19203690d4782bfc74069abb6bd71) +- [sim.getSimIccId](#section18529027065) +- [sim.getSimIccId](#section9200164911401) +- [sim.getDefaultVoiceSlotId7+](#section3313193864611) +- [sim.getDefaultVoiceSlotId7+](#section19013665018) +- [sim.getISOCountryCodeForSim](#section1429719645712) +- [sim.getISOCountryCodeForSim](#section1087375135713) +- [sim.getSimOperatorNumeric](#section1245831911019) +- [sim.getSimOperatorNumeric](#section450711512119) +- [sim.getSimSpn](#section18826326532) +- [sim.getSimSpn](#section1862714201148) +- [sim.getSimState](#section19837481195) +- [sim.getSimState](#section1763675061914) +- [sim.getSimGid1](#section18536193963119) +- [sim.getSimGid1](#section14446155983211) +- [SimState](#section17389192625218) + +>**说明:** +> +>标记7+的表示从API Version 7开始支持,未标记的表示从API Version 6开始支持。 + +## 导入模块 + +``` +import sim from '@ohos.telephony.sim'; +``` + +## sim.getSimIccId + +getSimIccId\(slotId: number, callback: AsyncCallback\): void + +获取指定卡槽SIM卡的ICCID(Integrate Circuit Card Identity),使用callback方式作为异步方法。 + +需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<string>

+

+

回调函数。

+
+ + +- 示例 + + ``` + sim.getSimIccId(0, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## sim.getSimIccId + +getSimIccId\(slotId: number\): Promise + +获取指定卡槽SIM卡的ICCID(Integrate Circuit Card Identity),使用Promise方式作为异步方法。 + +需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以Promise形式返回指定卡槽的ICCID。

+
+ +- 示例 + + ``` + let promise = sim.getSimIccId(0); + promise.then(data => { + console.log(`getSimIccId success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.log(`getSimIccId fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + +## sim.getDefaultVoiceSlotId7+ + +getDefaultVoiceSlotId\(callback: AsyncCallback\): void7+ + +获取默认语音业务的卡槽ID,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

callback

+

AsyncCallback<number>

+

+

回调函数。

+
+ +- 示例 + + ``` + sim.getDefaultVoiceSlotId((err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## sim.getDefaultVoiceSlotId7+ + +getDefaultVoiceSlotId\(\): Promise7+ + +获取默认语音业务的卡槽ID,使用Promise方式作为异步方法。 + +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<number>

+

以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.getISOCountryCodeForSim + +getISOCountryCodeForSim\(slotId: number, callback: AsyncCallback\): void + +获取指定卡槽SIM卡的ISO国家码,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<string>

+

+

回调函数。返回国家码,例如: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方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以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方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<string>

+

+

回调函数。

+
+ +- 示例 + + ``` + 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方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以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方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<string>

+

+

回调函数。

+
+ +- 示例 + + ``` + 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方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以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方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<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方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽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.getSimGid1 + +getSimGid1\(slotId: number, callback: AsyncCallback\): void + +获取指定卡槽SIM卡的GID1\(Group Identifier Level 1\),使用callback方式作为异步方法。 + +需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<string>

+

+

回调函数。

+
+ +- 示例 + + ``` + sim.getSimGid1(0, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## sim.getSimGid1 + +getSimGid1\(slotId: number\): Promise + +获取指定卡槽SIM卡的GID1\(Group Identifier Level 1\),使用Promise方式作为异步方法。 + +需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以Promise形式返回获取指定卡槽SIM卡的GID1(Group Identifier Level 1)

+
+ +- 示例 + + ``` + let promise = sim.getSimGid1(0); + promise.then(data => { + console.log(`getSimGid1 success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.log(`getSimGid1 fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## SimState + +SIM卡状态。 + + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

说明

+

SIM_STATE_UNKNOWN

+

SIM卡状态未知,即无法获取准确的状态。

+

SIM_STATE_NOT_PRESENT

+

表示SIM卡处于not present状态,即卡槽中没有插入SIM卡。

+

SIM_STATE_LOCKED

+

表示SIM卡处于locked状态,即SIM卡被PIN、PUK或网络锁锁定。

+

SIM_STATE_NOT_READY

+

表示SIM卡处于not ready状态,即SIM卡在位但无法正常工作。

+

SIM_STATE_READY

+

表示SIM卡处于ready状态,即SIM卡在位且工作正常。

+

SIM_STATE_LOADED

+

表示SIM卡处于loaded状态,即SIM卡在位且所有卡文件加载完毕。

+
\ No newline at end of file diff --git "a/zh-cn/application-dev/js-reference/\346\213\250\346\211\223\347\224\265\350\257\235.md" "b/zh-cn/application-dev/js-reference/\346\213\250\346\211\223\347\224\265\350\257\235.md" new file mode 100755 index 0000000000000000000000000000000000000000..5ce29415fd0c56a82c9ec4bc5619c4995e4330e3 --- /dev/null +++ "b/zh-cn/application-dev/js-reference/\346\213\250\346\211\223\347\224\265\350\257\235.md" @@ -0,0 +1,996 @@ +# 拨打电话 + +- [导入模块](#section111401036143) +- [call.dial](#section1961259194312) +- [call.dial](#section387281814438) +- [call.dial](#section37173354913) +- [call.hasCall](#section19558123217015) +- [call.hasCall](#section12874319303) +- [call.getCallState](#section5882223124910) +- [call.getCallState](#section198597561794) +- [call.isEmergencyPhoneNumber7+](#section8560112174319) +- [call.isEmergencyPhoneNumber7+](#section9565131204319) +- [call.isEmergencyPhoneNumber7+](#section5569131234312) +- [call.formatPhoneNumber7+](#section1532018310579) +- [call.formatPhoneNumber7+](#section1832553165720) +- [call.formatPhoneNumber7+](#section1933033195716) +- [call.formatPhoneNumberToE1647+](#section10285180112418) +- [call.formatPhoneNumberToE1647+](#section142931509247) +- [DialOptions](#section12262183471518) +- [CallState](#section345181318300) +- [EmergencyNumberOptions7+](#section03689893518) +- [NumberFormatOptions7+](#section23348305716) + +>**说明:** +> +>标记7+的表示从API Version 7开始支持,未标记的表示从API Version 6开始支持。 + + +## 导入模块 + +``` +import call from '@ohos.telephony.call'; +``` + +## call.dial + +dial\(phoneNumber: string, callback: AsyncCallback\): void + +拨打电话,使用callback方式作为异步方法。 + +需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

callback

+

AsyncCallback<boolean>

+

+

回调函数:

+
  • true:成功。
  • false:失败。
+
+ +- 示例 + + ``` + call.dial("138xxxxxxxx", (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.dial + +dial\(phoneNumber: string, options: DialOptions, callback: AsyncCallback\): void + +拨打电话,可设置通话参数,使用callback方式作为异步方法。 + +需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

options

+

DialOptions

+

+

通话参数,参考DialOptions

+

callback

+

AsyncCallback<boolean>

+

+

回调函数:

+
  • true:成功。
  • false:失败。
+
+ +- 示例 + + ``` + call.dial("138xxxxxxxx", { + extras: false + }, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.dial + +dial\(phoneNumber: string, options?: DialOptions\): Promise + +拨打电话,可设置通话参数,使用promise方式作为异步方法。 + +需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

options

+

DialOptions

+

+

通话参数,参考DialOptions

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<boolean>

+

以Promise形式返回拨打电话的结果。

+
+ +- 示例 + + ``` + let promise = call.dial("138xxxxxxxx", { + extras: false + }); + promise.then(data => { + console.log(`dial success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`dial fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + +## call.hasCall + +hasCall\(callback: AsyncCallback\): void + +判断是否存在通话,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

callback

+

AsyncCallback<boolean>

+

+

回调函数:

+
  • true:当前存在通话。
  • false:当前不存在通话。
+
+ +- 示例 + + ``` + call.hasCall((err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.hasCall + +hasCall\(\): Promise + +判断是否存在通话,使用Promise方式作为异步方法。 + +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<boolean>

+

以Promise形式异步返回判断是否存在通话。

+
+ +- 示例 + + ``` + let promise = call.hasCall(); + promise.then(data => { + console.log(`hasCall success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`hasCall fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## call.getCallState + +getCallState\(callback: AsyncCallback\): void + +获取通话状态,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

callback

+

AsyncCallback<CallState>

+

+

回调函数,异步返回获取到的通话状态。

+
+ +- 示例 + + ``` + call.getCallState((err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.getCallState + +getCallState\(\): Promise + +获取通话状态,使用Promise方式作为异步方法。 + +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<CallState>

+

以Promise形式异步返回获取通话状态的结果。

+
+ +- 示例 + + ``` + let promise = call.getCallState(); + promise.then(data => { + console.log(`getCallState success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`getCallState fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + +## call.isEmergencyPhoneNumber7+ + +isEmergencyPhoneNumber\(phoneNumber: string, callback: AsyncCallback\): void + +判断是否是紧急电话号码,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

callback

+

AsyncCallback<boolean>

+

+

回调函数,返回判断是否是紧急电话号码的结果:

+
  • true:是紧急电话号码。
  • false:不是紧急电话号码。
+
+ +- 示例 + + ``` + call.isEmergencyPhoneNumber("138xxxxxxxx", (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.isEmergencyPhoneNumber7+ + +isEmergencyPhoneNumber\(phoneNumber: string, options: EmergencyNumberOptions, callback: AsyncCallback\): void + +判断是否是紧急电话号码,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

options

+

EmergencyNumberOptions

+

+

手机参数,参考EmergencyNumberOptions

+

callback

+

AsyncCallback<boolean>

+

+

回调函数,返回判断是否是紧急电话号码的结果:

+
  • true:是紧急电话号码。
  • false:不是紧急电话号码。
+
+ +- 示例 + + ``` + call.isEmergencyPhoneNumber("112", {slotId: 1}, (err, value) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.isEmergencyPhoneNumber7+ + +isEmergencyPhoneNumber\(phoneNumber: string, options?: EmergencyNumberOptions\): Promise + +判断是否是紧急电话号码,使用promise方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

options

+

EmergencyNumberOptions

+

+

手机参数,参考EmergencyNumberOptions

+
+ +- 返回值 + + + + + + + + + + + +

类型

+

说明

+

Promise<boolean>

+

以Promise形式异步返回判断是否是紧急电话号码的结果。

+
+ +- 示例 + + ``` + let promise = call.isEmergencyPhoneNumber("138xxxxxxxx", {slotId: 1}); + promise.then(data => { + console.log(`isEmergencyPhoneNumber success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`isEmergencyPhoneNumber fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + +## call.formatPhoneNumber7+ + +formatPhoneNumber\(phoneNumber: string, callback: AsyncCallback\): void + +格式化电话号码,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

callback

+

AsyncCallback<string>

+

+

回调函数,返回格式化电话号码的结果。

+
+ +- 示例 + + ``` + call.formatPhoneNumber("138xxxxxxxx", (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.formatPhoneNumber7+ + +formatPhoneNumber\(phoneNumber: string, options: NumberFormatOptions, callback: AsyncCallback\): void + +格式化电话号码,可设置格式化参数,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

options

+

NumberFormatOptions

+

+

格式化参数,参考NumberFormatOptions

+

callback

+

AsyncCallback<string>

+

+

回调函数,返回格式化电话号码的结果。

+
+ +- 示例 + + ``` + call.formatPhoneNumber("138xxxxxxxx",{ + countryCode: "CN" + }, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.formatPhoneNumber7+ + +formatPhoneNumber\(phoneNumber: string, options?: NumberFormatOptions\): Promise + +格式化电话号码,可设置格式化参数,使用promise方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

options

+

NumberFormatOptions

+

+

格式化参数,参考NumberFormatOptions

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以Promise形式异步返回格式化电话号码的结果。

+
+ +- 示例 + + ``` + let promise = call.formatPhoneNumber("138xxxxxxxx", { + countryCode: "CN" + }); + promise.then(data => { + console.log(`formatPhoneNumber success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`formatPhoneNumber fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + +## call.formatPhoneNumberToE1647+ + +formatPhoneNumberToE164\(phoneNumber: string, countryCode: string, callback: AsyncCallback\): void + +将电话号码格式化为E.164表示形式,使用callback方式作为异步方法。 + +需要格式化的电话号码需要与传入国家码相匹配,如中国手机号需要传入国家码CN,否则格式化后的手机号为null。 + +支持所有国家码。 + +- 参数 + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

countryCode

+

string

+

+

国家码,支持所有国家码,如:中国(CN)。

+

callback

+

AsyncCallback<string>

+

+

回调函数,返回将电话号码格式化为E.164表示形式的结果。

+
+ +- 示例 + + ``` + call.formatPhoneNumberToE164("138xxxxxxxx",{ + countryCode: "CN" + }, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## call.formatPhoneNumberToE1647+ + +formatPhoneNumberToE164\(phoneNumber: string, countryCode: string\): Promise + +将电话号码格式化为E.164表示形式,使用promise方式作为异步方法。 + +需要格式化的手机号码需要与传入国家码相匹配,如中国手机号需要传入国家码CN,否则格式化后的手机号为null。 + +支持所有国家码。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

phoneNumber

+

string

+

+

电话号码。

+

countryCode

+

string

+

+

国家码,如:中国(CN)。

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以Promise形式异步返回将电话号码格式化为E.164表示形式的结果。

+
+ +- 示例 + + ``` + let promise = call.formatPhoneNumberToE164("138xxxxxxxx", { + countryCode: "CN" + }); + promise.then(data => { + console.log(`formatPhoneNumberToE164 success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`formatPhoneNumberToE164 fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + +## DialOptions + +拨打电话的可选参数。 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

extras

+

boolean

+

+

根据extras的值判断是否为视频通话,默认为语音通话。

+
  • true:视频通话。
  • fasle:语音通话。
+
+ +## CallState + +通话状态码。 + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

+

说明

+

CALL_STATE_UNKNOWN

+

-1

+

无效状态,当获取呼叫状态失败时返回。

+

CALL_STATE_IDLE

+

0

+

表示没有正在进行的呼叫。

+

CALL_STATE_RINGING

+

1

+

表示来电正在振铃或等待。

+

CALL_STATE_OFFHOOK

+

2

+

表示至少有一个呼叫处于拨号、通话中或呼叫保持状态,并且没有新的来电振铃或等待。

+
+ +## EmergencyNumberOptions7+ + +判断是否是紧急电话号码的可选参数。 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID:

+
  • 0:卡槽1。
  • 1:卡槽2。
+
+ +## NumberFormatOptions7+ + +格式化号码的可选参数。 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

countryCode

+

string

+

+

国家码,支持所有国家的国家码,如:中国(CN),默认为:CN。

+
\ No newline at end of file diff --git "a/zh-cn/application-dev/js-reference/\347\237\255\344\277\241\345\217\221\351\200\201.md" "b/zh-cn/application-dev/js-reference/\347\237\255\344\277\241\345\217\221\351\200\201.md" new file mode 100755 index 0000000000000000000000000000000000000000..5f399841c018bdb97a1440fa34ae172a32796bb9 --- /dev/null +++ "b/zh-cn/application-dev/js-reference/\347\237\255\344\277\241\345\217\221\351\200\201.md" @@ -0,0 +1,924 @@ +# 短信服务 + +- [导入模块](#section111401036143) +- [sms.createMessage](#section3831173019331) +- [sms.createMessage](#section9796242123511) +- [sms.sendMessage](#section128401423810) +- [sms.getDefaultSmsSlotId7+](#section46193383478) +- [sms.getDefaultSmsSlotId7+](#section19981626114817) +- [sms.setSmscAddr7+](#section155849574485) +- [sms.setSmscAddr7+](#section7801426144910) +- [sms.getSmscAddr7+](#section347174613494) +- [sms.getSmscAddr7+](#section1178428175016) +- [ShortMessage](#section345181318300) +- [ShortMessageClass](#section141712166453) +- [SendMessageOptions](#section12262183471518) +- [ISendShortMessageCallback](#section16646146115317) +- [IDeliveryShortMessageCallback](#section12183749531) +- [SendSmsResult](#section13290132311575) + +>**说明:** +> +>标记7+的表示从API Version 7开始支持,未标记的表示从API Version 6开始支持。 + +## 导入模块 + +``` +import sms from '@ohos.telephony.sms'; +``` + +## sms.createMessage + +createMessage\(pdu: Array, specification: string, callback: AsyncCallback\): void + +根据协议数据单元(PDU)和指定的短信协议创建短信实例,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

pdu

+

Array<number>

+

+

协议数据单元,从收到的信息中获取。

+

specification

+

string

+

+

短信协议类型。

+
  • 3gpp表示GSM/UMTS/LTE SMS
  • 3gpp2表示CDMA SMS
+

callback

+

AsyncCallback<ShortMessage>

+

+

回调函数。

+
+ +- 示例 + + ``` + let specification = '3gpp'; + let pdu = [0x08, 0x91, ...]; + sms.createMessage(pdu, specification, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## sms.createMessage + +createMessage\(pdu: Array, specification: string\): Promise + +根据协议数据单元(PDU)和指定的短信协议创建短信实例,使用Promise方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

pdu

+

Array<number>

+

+

协议数据单元,从收到的信息中获取。

+

specification

+

string

+

+

短信协议类型。

+
  • 3gpp表示GSM/UMTS/LTE SMS
  • 3gpp2表示CDMA SMS
+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<ShortMessage>

+

以Promise形式返回创建的短信实例。

+
+ +- 示例 + + ``` + let specification = '3gpp'; + let pdu = [0x08, 0x91, ...]; + let promise = sms.createMessage(pdu, specification); + promise.then(data => { + console.log(`createMessage success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`createMessage fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## sms.sendMessage + +sendMessage\(options: SendMessageOptions\): void + +发送短信。 + +需要ohos.permission.SEND\_MESSAGES权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

options

+

SendMessageOptions

+

+

发送短信的参数和回调,参考SendMessageOptions

+
+ +- 示例 + + ``` + let sendCallback = function (err, data) { + console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + } + let deliveryCallback = function (err, data) { + console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + } + let slotId = 0; + let content = '短信内容'; + let destinationHost = '+861xxxxxxxxxx'; + let serviceCenter = '+861xxxxxxxxxx'; + let destinationPort = 1000; + let options = {slotId, content, destinationHost, serviceCenter, destinationPort, sendCallback, deliveryCallback}; + sms.sendMessage(options); + ``` + + +## sms.getDefaultSmsSlotId7+ + +getDefaultSmsSlotId\(callback: AsyncCallback\): void + +获取发送短信的默认SIM卡槽ID,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

callback

+

AsyncCallback<number>

+

+

回调函数。

+
  • 0:卡槽1
  • 1:卡槽2
+
+ +- 示例 + + ``` + sms.getDefaultSmsSlotId((err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## sms.getDefaultSmsSlotId7+ + +getDefaultSmsSlotId\(\): Promise + +获取发送短信的默认SIM卡槽ID,使用Promise方式作为异步方法。 + +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<number>

+

以Promise形式返回发送短信的默认SIM卡:

+
  • 0:卡槽1
  • 1:卡槽2
+
+ +- 示例 + + ``` + let promise = call.getDefaultSmsSlotId(); + promise.then(data => { + console.log(`getDefaultSmsSlotId success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`getDefaultSmsSlotId fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## sms.setSmscAddr7+ + +setSmscAddr\(slotId: number, smscAddr: string, callback: AsyncCallback\): void + +设置短信服务中心(SMSC)地址,使用callback方式作为异步方法。 + +需要ohos.permission.SET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

SIM卡槽ID:

+
  • 0:卡槽1
  • 1:卡槽2
+

smscAddr

+

string

+

+

短信服务中心地址。

+

callback

+

AsyncCallback<void>

+

+

回调函数。

+
+ +- 示例 + + ``` + let slotId = 0; + let smscAddr = '+861xxxxxxxxxx'; + sms.setSmscAddr(slotId, smscAddr, (err,data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## sms.setSmscAddr7+ + +setSmscAddr\(slotId: number, smscAddr: string\): Promise + +设置短信服务中心(SMSC)地址,使用Promise方式作为异步方法。 + +需要ohos.permission.SET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

SIM卡槽ID:

+
  • 0:卡槽1
  • 1:卡槽2
+

smscAddr

+

string

+

+

短信服务中心地址。

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<void>

+

以Promise形式异步返回设置结果。

+
+ +- 示例 + + ``` + let slotId = 0; + let smscAddr = '+861xxxxxxxxxx'; + let promise = sms.setSmscAddr(slotId, smscAddr); + promise.then(data => { + console.log(`setSmscAddr success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`setSmscAddr fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## sms.getSmscAddr7+ + +getSmscAddr\(slotId: number, callback: AsyncCallback\): void + +获取短信服务中心(SMSC)地址,使用callback方式作为异步方法。 + +需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

SIM卡槽ID:

+
  • 0:卡槽1
  • 1:卡槽2
+

callback

+

AsyncCallback<string>

+

+

回调函数。

+
+ +- 示例 + + ``` + let slotId = 0; + sms.getSmscAddr(slotId, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## sms.getSmscAddr7+ + +getSmscAddr\(slotId: number\): Promise + +获取短信服务中心(SMSC)地址,使用Promise方式作为异步方法。 + +需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

SIM卡槽ID:

+
  • 0:卡槽1
  • 1:卡槽2
+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以Promise形式返回获取短信服务中心地址的结果。

+
+ +- 示例 + + ``` + let slotId = 0; + let promise = sms.getSmscAddr(slotId); + promise.then(data => { + console.log(`getSmscAddr success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`getSmscAddr fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## ShortMessage + +短信实例 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

类型

+

说明

+

emailAddress

+

string

+

电子邮件地址。

+

emailMessageBody

+

string

+

电子邮件正文。

+

hasReplyPath

+

boolean

+

收到的短信是否包含“TP-Reply-Path”,默认为false。

+
  • “TP-Reply-Path”:移动电话根据发送SMS消息的短消息中心进行回复。
+

isEmailMessage

+

boolean

+

收到的短信是否为电子邮件。

+

isReplaceMessage

+

boolean

+

收到的短信是否为“替换短信”,默认为false。

+
  • “替换短信”有关详细信息,参见 “3GPP TS 23.040 9.2.3.9”。
+

isSmsStatusReportMessage

+

boolean

+

当前消息是否为“短信状态报告”,默认为false。

+
  • “短信状态报告”是一种特定格式的短信,被用来从Service Center到Mobile Station传送状态报告。
+

messageClass

+

ShortMessageClass

+

短信类型。

+

pdu

+

Array<number>

+

SMS消息中的协议数据单元 (PDU)。

+

protocolId

+

number

+

发送短信时使用的协议标识。

+

scAddress

+

string

+

短消息服务中心(SMSC)地址。

+

scTimestamp

+

number

+

SMSC时间戳。

+

status

+

number

+

SMS-STATUS-REPORT消息中的短信状态指示短信服务中心(SMSC)发送的短信状态。

+

userRawData

+

Array<number>

+

除数据头外的用户数据。

+

visibleMessageBody

+

string

+

短信正文。

+

visibleRawAddress

+

string

+

发送者地址。

+
+ +## ShortMessageClass + +短信类型。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

+

说明

+

UNKNOWN

+

0

+

未知类型。

+

INSTANT_MESSAGE

+

1

+

即时消息,收到后立即显示。

+

OPTIONAL_MESSAGE

+

2

+

存储在设备或SIM卡上的短信。

+

SIM_MESSAGE

+

3

+

包含SIM卡信息的短信,需要存储在SIM卡中。

+

FORWARD_MESSAGE

+

4

+

要转发到另一台设备的短信。

+
+ +## SendMessageOptions + +发送短信的参数和回调。 + +根据SendMessageOptions中的可选参数content的值判断短信类型。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

用于发送短信的SIM卡槽ID:

+
  • 0:卡槽1
  • 1:卡槽2
+

destinationHost

+

string

+

+

短信的发送地址。

+

content

+

string | Array<number>

+

+

如果内容是字符串,则这是一条文本短信。

+

如果内容是字节数组,则这是一条数据短信。

+

serviceCenter

+

string

+

+

短信中心地址。默认使用SIM卡中的短信中心地址。

+

destinationPort

+

number

+

+

如果发送数据消息,destinationPort 是必需的。否则是可选的。

+

sendCallback

+

AsyncCallback

+

<ISendShortMessageCallback>

+

+

短信发送结果回调,返回短信发送的结果,参考ISendShortMessageCallback

+

deliveryCallback

+

AsyncCallback

+

<IDeliveryShortMessageCallback>

+

+

短信送达结果回调,返回短信递送报告,参考IDeliveryShortMessageCallback

+
+ +## ISendShortMessageCallback + +回调实例。返回短信发送结果、存储已发送短信的URI和是否为长短信的最后一部分。 + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

isLastPart

+

boolean

+

+

指定这是否是长短信的最后一部分。true表示这是长短信的最后一部分,false表示不是。默认为false。

+

result

+

SendSmsResult

+

+

短信发送结果。

+

url

+

string

+

+

存储发送短信的URI。

+
+ +## IDeliveryShortMessageCallback + +回调实例。返回短信送达报告。 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

pdu

+

Array<number>

+

+

短信送达报告。

+
+ +## SendSmsResult + +短信发送结果。 + + + + + + + + + + + + + + + + + + + + + + + + +

参数名

+

+

说明

+

SEND_SMS_SUCCESS

+

0

+

发送短信成功。

+

SEND_SMS_FAILURE_UNKNOWN

+

1

+

发送短信失败,原因未知。

+

SEND_SMS_FAILURE_RADIO_OFF

+

2

+

发送短信失败,原因为调制解调器关机。

+

SEND_SMS_FAILURE_SERVICE_UNAVAILABLE

+

3

+

发送短信失败,原因为网络不可用、不支持发送或接收短信。

+
diff --git "a/zh-cn/application-dev/js-reference/\347\275\221\347\273\234\346\220\234\347\264\242.md" "b/zh-cn/application-dev/js-reference/\347\275\221\347\273\234\346\220\234\347\264\242.md" new file mode 100755 index 0000000000000000000000000000000000000000..d881b032043369aea31e241d55c84887ef2dcbdf --- /dev/null +++ "b/zh-cn/application-dev/js-reference/\347\275\221\347\273\234\346\220\234\347\264\242.md" @@ -0,0 +1,1159 @@ +# Radio + +- [导入模块](#s56d19203690d4782bfc74069abb6bd71) +- [radio.getRadioTech](#section18401172810207) +- [radio.getRadioTech](#section686385662419) +- [radio.getNetworkState](#section2090641619263) +- [radio.getNetworkState](#section392520433402) +- [radio.getNetworkState](#section20661545182918) +- [radio.getNetworkSelectionMode](#section79561056114711) +- [radio.getNetworkSelectionMode](#section553074612507) +- [radio.getISOCountryCodeForNetwork7+](#section16183194320525) +- [radio.getISOCountryCodeForNetwork7+](#section56144132559) +- [radio.getSignalInformation](#section1153532721018) +- [radio.getSignalInformation](#section1859512161511) +- [radio.isRadioOn7+](#section5456161711228) +- [radio.isRadioOn7+](#section178817520243) +- [RadioTechnology](#section1072135204020) +- [SignalInformation](#section10701756164212) +- [NetworkType](#section519718112466) +- [NetworkState](#section1691213911470) +- [RegState](#section18174131911514) +- [NsaState](#section448018155317) +- [NetworkSelectionMode](#section14219361268) + +>**说明:** +> +>标记7+的表示从API Version 7开始支持,未标记的表示从API Version 6开始支持。 + + +## 导入模块 + +``` +import radio from '@ohos.telephony.radio' +``` + +## radio.getRadioTech + +getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\>\): void + +获取当前接入的CS域和PS域无线接入技术,使用callback方式作为异步方法。 + +需要ohos.permission.GET\_NETWORK\_INFO权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>

+

+

回调函数。

+
+ +- 示例 + + ``` + let slotId = 0; + radio.getRadioTech(slotId, (err, data) =>{ + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## radio.getRadioTech + +getRadioTech\(slotId: number\): Promise<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\> + +获取当前接入的CS域和PS域无线接入技术,使用Promise方式作为异步方法。 + +需要ohos.permission.GET\_NETWORK\_INFO权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>

+

以Promise形式返回获取当前接入的CS域和PS域技术

+
+ +- 示例 + + ``` + let slotId = 0; + let promise = radio.getRadioTech(slotId); + promise.then(data => { + console.log(`getRadioTech success, data->${JSON.stringify(data)}`); + }).catch(err => { + console.log(`getRadioTech fail, err->${JSON.stringify(err)}`); + }); + ``` + + +## radio.getNetworkState + +getNetworkState\(callback: AsyncCallback\): void + +获取网络状态,使用callback方式作为异步方法。 + +需要ohos.permission.GET\_NETWORK\_INFO权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

callback

+

AsyncCallback<NetworkState>

+

+

回调函数。

+
+ +- 示例 + + ``` + radio.getNetworkState((err, data) =>{ + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## radio.getNetworkState + +getNetworkState\(slotId: number, callback: AsyncCallback\): void + +获取网络状态,使用callback方式作为异步方法。 + +需要ohos.permission.GET\_NETWORK\_INFO权限。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<NetworkState>

+

+

回调函数。

+
+ +- 示例 + + ``` + let slotId = 0; + radio.getNetworkState(slotId, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## radio.getNetworkState + +getNetworkState\(slotId?: number\): Promise + +获取网络状态,使用Promise方式作为异步方法。 + +需要ohos.permission.GET\_NETWORK\_INFO权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<NetworkState>

+

以Promise形式返回网络状态。

+
+ +- 示例 + + ``` + let slotId = 0; + let promise = radio.getNetworkState(slotId); + promise.then(data => { + console.log(`getNetworkState success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.log(`getNetworkState fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## radio.getNetworkSelectionMode + +getNetworkSelectionMode\(slotId: number, callback: AsyncCallback\): void + +获取当前选网模式,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<NetworkSelectionMode>

+

+

回调函数。

+
+ +- 示例 + + ``` + let slotId = 0; + radio.getNetworkSelectionMode(slotId, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## radio.getNetworkSelectionMode + +getNetworkSelectionMode\(slotId: number\): Promise + +获取当前选网模式,使用Promise方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<NetworkSelectionMode>

+

以Promise形式返回当前选网模式。

+
+ +- 示例 + + ``` + let slotId = 0; + let promise = radio.getNetworkSelectionMode(slotId); + promise.then(data => { + console.log(`getNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.log(`getNetworkSelectionMode fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## radio.getISOCountryCodeForNetwork7+ + +getISOCountryCodeForNetwork\(slotId: number, callback: AsyncCallback\): void + +获取注册网络所在国家的ISO国家码,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<string>

+

+

回调函数。返回国家码,例如:CN(中国)。

+
+ +- 示例 + + ``` + let slotId = 0; + radio.getISOCountryCodeForNetwork(slotId, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## radio.getISOCountryCodeForNetwork7+ + +getISOCountryCodeForNetwork\(slotId: number\): Promise + +获取注册网络所在国家的ISO国家码,使用Promise方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<string>

+

以Promise形式返回注册网络所在国家的ISO国家码,例如CN(中国)。

+
+ +- 示例 + + ``` + let slotId = 0; + let promise = radio.getISOCountryCodeForNetwork(slotId); + promise.then(data => { + console.log(`getISOCountryCodeForNetwork success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.log(`getISOCountryCodeForNetwork fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## radio.getSignalInformation + +getSignalInformation\(slotId: number, callback: AsyncCallback\>\): void + +获取指定SIM卡槽对应的注册网络信号强度信息列表,使用callback方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+

callback

+

AsyncCallback<Array<SignalInformation>>

+

+

回调函数,返回SignalInformation对象的数组。

+
+ +- 示例 + + ``` + let slotId = 0; + radio.getSignalInformation(slotId, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## radio.getSignalInformation + +getSignalInformation\(slotId: number\): Promise\> + +获取指定SIM卡槽对应的注册网络信号强度信息列表,使用Promise方式作为异步方法。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

slotId

+

number

+

+

卡槽ID。

+

0:卡槽1

+

1:卡槽2

+
+ +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<Array<SignalInformation>>

+

以Promise形式返回网络信号强度SignalInformation对象的数组。

+
+ +- 示例 + + ``` + let slotId = 0; + let promise = radio.getSignalInformation(slotId); + promise.then(data => { + console.log(`getSignalInformation success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`getSignalInformation fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## radio.isRadioOn7+ + +isRadioOn\(callback: AsyncCallback\): void + +判断Radio是否打开,使用callback方式作为异步方法。 + +需要ohos.permission.GET\_NETWORK\_INFO权限。 + +- 参数 + + + + + + + + + + + + + + +

参数名

+

类型

+

必填

+

说明

+

callback

+

AsyncCallback<boolean>

+

+

回调函数。

+

true:Radio打开

+

false:Radio关闭

+
+ +- 示例 + + ``` + radio.isRadioOn((err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); + }); + ``` + + +## radio.isRadioOn7+ + +isRadioOn\(\): Promise + +判断Radio是否打开,使用Promise方式作为异步方法。 + +需要ohos.permission.GET\_NETWORK\_INFO权限。 + +- 返回值 + + + + + + + + + + +

类型

+

说明

+

Promise<boolean>

+

以Promise形式返回判断Radio是否打开的结果。

+

true:Radio打开

+

false:Radio关闭

+
+ +- 示例 + + ``` + let promise = radio.isRadioOn(); + promise.then(data => { + console.log(`isRadioOn success, promise: data->${JSON.stringify(data)}`); + }).catch(err => { + console.error(`isRadioOn fail, promise: err->${JSON.stringify(err)}`); + }); + ``` + + +## RadioTechnology + +无线接入技术。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

+

说明

+

RADIO_TECHNOLOGY_UNKNOWN

+

0

+

未知无线接入技术(RAT)。

+

RADIO_TECHNOLOGY_GSM

+

1

+

无线接入技术GSM(Global System For Mobile Communication)。

+

RADIO_TECHNOLOGY_1XRTT

+

2

+

无线接入技术1XRTT(Single-Carrier Radio Transmission Technology)。

+

RADIO_TECHNOLOGY_WCDMA

+

3

+

无线接入技术WCDMA(Wideband Code Division Multiple Access)。

+

RADIO_TECHNOLOGY_HSPA

+

4

+

无线接入技术HSPA(High Speed Packet Access)。

+

RADIO_TECHNOLOGY_HSPAP

+

5

+

无线接入技术HSPAP(High Speed packet access (HSPA+) )。

+

RADIO_TECHNOLOGY_TD_SCDMA

+

6

+

无线接入技术TDSCDMA(TimeDivision-Synchronous Code Division Multiple Access)。

+

RADIO_TECHNOLOGY_EVDO

+

7

+

无线接入技术EVDO(Evolution、Data Only)。

+

RADIO_TECHNOLOGY_EHRPD

+

8

+

无线接入技术EHRPD(Evolved High Rate Package Data)。

+

RADIO_TECHNOLOGY_LTE

+

9

+

无线接入技术LTE(Long Term Evolution)。

+

RADIO_TECHNOLOGY_LTE_CA

+

10

+

无线接入技术LTE_CA(Long Term Evolution_Carrier Aggregation)。

+

RADIO_TECHNOLOGY_IWLAN

+

11

+

无线接入技术IWLAN(Industrial Wireless LAN)。

+

RADIO_TECHNOLOGY_NR

+

12

+

无线接入技术NR(New Radio)。

+
+ +## SignalInformation + +网络信号强度信息对象。 + + + + + + + + + + + + + + + + +

属性名

+

类型

+

说明

+

signalType

+

NetworkType

+

网络信号强度类型。

+

signalLevel

+

number

+

网络信号强度等级。

+
+ +## NetworkType + +网络类型。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

+

说明

+

NETWORK_TYPE_UNKNOWN

+

0

+

未知网络类型。

+

NETWORK_TYPE_GSM

+

1

+

网络类型为GSM(Global System For Mobile Communication)。

+

NETWORK_TYPE_CDMA

+

2

+

网络类型为CDMA(Code Division Multiple Access)。

+

NETWORK_TYPE_WCDMA

+

3

+

网络类型为WCDMA(Wideband Code Division Multiple Access)。

+

NETWORK_TYPE_TDSCDMA

+

4

+

网络类型为TDSCDMA(TimeDivision-Synchronous Code Division Multiple Access)。

+

NETWORK_TYPE_LTE

+

5

+

网络类型为LTE(Long Term Evolution)。

+

NETWORK_TYPE_NR

+

6

+

网络类型为5G NR(New Radio)。

+
+ + +## NetworkState + +网络注册状态。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

类型

+

说明

+

longOperatorName

+

string

+

注册网络的长运营商名称。

+

shortOperatorName

+

string

+

注册网络的短运营商名称。

+

plmnNumeric

+

string

+

注册网络的PLMN码。

+

isRoaming

+

boolean

+

是否处于漫游状态。

+

regState

+

RegState

+

设备的网络注册状态。

+

nsaState

+

NsaState

+

设备的NSA网络注册状态。

+

isCaActive

+

boolean

+

CA的状态。

+

isEmergency

+

boolean

+

此设备是否只允许拨打紧急呼叫。

+
+ +## RegState + +网络注册状态。 + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

+

说明

+

REG_STATE_NO_SERVICE

+

0

+

设备不能使用任何服务。

+

REG_STATE_IN_SERVICE

+

1

+

设备可以正常使用业务。

+

REG_STATE_EMERGENCY_CALL_ONLY

+

2

+

设备只能使用紧急呼叫业务。

+

REG_STATE_POWER_OFF

+

3

+

蜂窝无线电已关闭。

+
+ +## NsaState + +非独立组网状态。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

变量

+

+

说明

+

NSA_STATE_NOT_SUPPORT

+

1

+

设备在不支持NSA的LTE小区下处于空闲状态或连接状态。

+

NSA_STATE_NO_DETECT

+

2

+

在支持NSA但不支持NR覆盖检测的LTE小区下,设备处于空闲状态。

+

NSA_STATE_CONNECTED_DETECT

+

3

+

设备在LTE小区下连接到LTE网络支持NSA和NR覆盖检测。

+

NSA_STATE_IDLE_DETECT

+

4

+

支持NSA和NR覆盖检测的LTE小区下设备处于空闲状态。

+

NSA_STATE_DUAL_CONNECTED

+

5

+

设备在支持NSA的LTE小区下连接到LTE + NR网络。

+

NSA_STATE_SA_ATTACHED

+

6

+

设备在5GC附着时在NG-RAN小区下空闲或连接到NG-RAN小区。

+
+ +## NetworkSelectionMode + +选网模式。 + + + + + + + + + + + + + + + + + + + + + +

变量

+

+

说明

+

NETWORK_SELECTION_UNKNOWN

+

0

+

未知选网模式。

+

NETWORK_SELECTION_AUTOMATIC

+

1

+

自动选网模式。

+

NETWORK_SELECTION_MANUAL

+

2

+

手动选网模式。

+
\ No newline at end of file