@ohos.telephony.observer (observer)(系统接口)

本模块提供订阅管理功能,可以订阅/取消订阅的事件包括:小区信息变化事件、指定卡槽位的小区信息变化事件。

说明:

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

当前页面仅包含本模块的系统接口,其他公开接口参见@ohos.telephony.observer (observer)

导入模块

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

observer.on('cellInfoChange')8+

on(type: 'cellInfoChange', callback: Callback<Array<CellInformation>>): void

订阅小区信息变化事件,使用callback方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION

系统能力:SystemCapability.Telephony.StateRegistry

参数:

参数名 类型 必填 说明
type string 小区信息变化事件,固定为'cellInfoChange'。
callback Callback<Array<CellInformation>> 以callback形式异步返回结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码ID 错误信息
201 Permission denied.
202 Non-system applications use system APIs.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

observer.on('cellInfoChange', (data: Array<radio.CellInformation>) => {
    console.log("on cellInfoChange, data:" + JSON.stringify(data));
});

observer.on('cellInfoChange')8+

on(type: 'cellInfoChange', options: ObserverOptions, callback: Callback<Array<CellInformation>>): void

订阅指定卡槽位的小区信息变化事件,使用callback方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION

系统能力:SystemCapability.Telephony.StateRegistry

参数:

参数名 类型 必填 说明
type string 小区信息变化事件,固定为'cellInfoChange'。
options ObserverOptions 电话相关事件订阅参数可选项。
callback Callback<Array<CellInformation>> 以callback形式异步返回结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码ID 错误信息
201 Permission denied.
202 Non-system applications use system APIs.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

let options: observer.ObserverOptions = {
    slotId: 0
}
observer.on('cellInfoChange', options, (data: Array<radio.CellInformation>) => {
    console.log("on cellInfoChange, data:" + JSON.stringify(data));
});

observer.off('cellInfoChange')8+

off(type: 'cellInfoChange', callback?: Callback<Array<CellInformation>>): void

取消订阅小区信息变化事件,使用callback方式作为异步方法。

说明:

可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.StateRegistry

参数:

参数名 类型 必填 说明
type string 小区信息变化事件,固定为'cellInfoChange'。
callback Callback<Array<CellInformation>> 以callback形式异步返回结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码ID 错误信息
202 Non-system applications use system APIs.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

let callback: (data: Array<radio.CellInformation>) => void = (data: Array<radio.CellInformation>) => {
    console.log("on cellInfoChange, data:" + JSON.stringify(data));
}
observer.on('cellInfoChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('cellInfoChange', callback);
observer.off('cellInfoChange');