1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-telephony_state_registry

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Реестр состояния

Введение

Модуль реестра состояния предоставляет API для регистрации и отмены регистрации наблюдателя, который слушает различные обратные события подсистемы телефонии. Такие события включают, но не ограничиваются следующими: изменения состояния сети, изменения уровня сигнала, изменения информации о ячейках, изменения состояния соединения данных сотовой связи и изменения состояния вызова.

Рисунок 1 Архитектура модуля реестра состояния

Структура директорий

/base/telephony/state_registry      # Сервис реестра состояния
├─ figures                          # Изображения README файлов
├─ frameworks                       # Уровень фреймворка
│  ├─ js                            # Код на JavaScript
│  └─ native                        # Нативный код
├─ interfaces                       # API
│  ├─ innerkits                     # Внутренние API
│  └─ kits                          # Внешние API (например, JS API)
├─ sa_profile                       # Профиль SA
├─ services                         # Код сервиса
└─ test                             # Тестовый код
   ├─ mock                          # Симуляционный тест
   └─ unittest                      # Единичный тест

Ограничения- Язык программирования: JavaScript

  • Программные ограничения: этот сервис должен работать вместе с основным сервисом телефонии (core_service).
  • Хардварные ограничения: устройство должно быть оборудовано модемом и картой SIM, способной к независимому сотовому общению.
  • API для регистрации наблюдателя за состоянием карты SIM действует только при наличии карт SIM. При удалении карт SIM обратные события не будут получены. Ваше приложение может использовать API getSimState, чтобы проверить наличие карт SIM.## Использование

Доступные API

Таблица 1 API регистрации

API Описание
function on(type: String, options: { slotId?: number }, callback: AsyncCallback): void; Регистрирует наблюдатель.
function off(type: String, callback?: AsyncCallback): void; Отменяет регистрацию наблюдателя.

Правила использования

Параметры API на C

Различные события подписки различаются параметром type. В следующей таблице приведены связанные параметры type.

Таблица 2 Описание параметров типа

| Параметр | Описание | Требуемые права | | --------------------------------- | ------------------------------------------------------------ | ----------------------------- | | networkStateChange | Событие изменения состояния сети | ohos.permission.GET_NETWORK_INFO | | signalInfoChange | Событие изменения сигнала | Нет | | cellInfoChange | Событие изменения информации о ячейках | ohos.permission.LOCATION и ohos.permission.APPROXIMATELY_LOCATION | | cellularDataConnectionStateChange | Событие изменения состояния соединения данных сотовой связи | Нет | | cellularDataFlowChange | Событие изменения потока данных сотовой связи | Нет | | callStateChange | Событие изменения состояния звонка, в котором значение параметра phoneNumber пустое, если у пользователя нет требуемых прав доступа. | ohos.permission.READ_CALL_LOG | | simStateChange | Событие изменения состояния карты SIM | Нет |### Пример кода

Функционал регистрации наблюдателя для событий изменения состояния звонков используется как пример. Процесс состоит из следующих шагов:

  1. Вызовите метод on с указанием параметра type, чтобы зарегистрировать наблюдателя для различных типов событий.
  2. Проверьте успешность регистрации. Если err пустое в полученной обратной вызове, регистрация выполнена успешно. Если err не пустое, регистрация завершилась ошибкой. Получите необходимые данные из value, если регистрация выполнена успешно.
  3. Вызовите метод off для отмены регистрации наблюдателя. После отмены регистрации наблюдатель больше не будет получать обратные вызовы.

// Импортируем пакет наблюдателя. import observer from '@ohos.telephony.observer';

// Регистрируем наблюдателя. observer.on('callStateChange', {slotId: 1}, (err, value) => { if (err) { // Если вызов API завершился ошибкой, err не является пустым. console.error(Ошибка, поскольку ${err.message}); return; } // Если вызов API прошел успешно, err является пустым. console.log(Успешно включен. Номер - + value.number + ", состояние - " + value.state); });

// Отменяем регистрацию наблюдателя. observer.off('callStateChange', (err, value) => { if (err) { // Если вызов API завершился ошибкой, err не является пустым. console.error(Ошибка, поскольку ${err.message}); return; } // Если вызов API прошел успешно, err является пустым. console.log(Успешно отключен); });

```## Вовлечённые репозитории<a name="section206mcpsimp"></a>

[Telephony](https://gitee.com/openharmony/docs/blob/master/en/readme/telephony.md)

**telephony_state_registry**

[telephony_core_service](https://gitee.com/openharmony/telephony_core_service/blob/master/README.md)

[telephony_cellular_data](https://gitee.com/openharmony/telephony_cellular_data/blob/master/README.md)

[telephony_cellular_call](https://gitee.com/openharmony/telephony_cellular_call/blob/master/README.md)

[telephony_call_manager](https://gitee.com/openharmony/telephony_call_manager/blob/master/README.md)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openharmony-telephony_state_registry.git
git@api.gitlife.ru:oschina-mirror/openharmony-telephony_state_registry.git
oschina-mirror
openharmony-telephony_state_registry
openharmony-telephony_state_registry
master