Как отправлять и получать USSD-коды на ионной платформе?

Я младший разработчик на платформе Ionic, теперь у меня проблема с отправкой и получением USSD-кодов с этим.... пожалуйста, помогите мне, если вы знаете об этом.

3 ответа

Из того, что я нашел в интернете и протестировал, можно отправлять USSD коды

<a href="tel:YOUR_NUMBER" class="button button-positive">Call me? </a>

и чтобы сделать его работоспособным, вам нужно предоставить доступ к CONFIG.XML, просто добавив

<access origin="tel:*" launch-external="yes"/>

Единственный недостаток: он не будет напрямую набирать ваш номер, а откроет его по умолчанию в Dailer устройства.

Примечание: я новичок здесь, в стеке, поэтому не знаю формальных способов ответа. весело кодировать!

Я бы предложил использовать родной плагин Call Number. Позволяет совершать телефонные звонки и отправлять USSD-коды. На Android он отправляет USSD-коды напрямую, без запуска приложения для телефона.

  1. Установите плагин, как описано в документации.
  2. Используйте его для отправки USSD-кодов.

Пример:

import { Component } from '@angular/core';
import { CallNumber } from "@ionic-native/call-number";

@Component({
  selector: 'page-home',
  template: `
    <button ion-button (click)="callNumber()">CallNumber</button>
  `
})
export class HomePage {

  constructor(public phone: CallNumber) { }

  callNumber(){
    this.phone.callNumber("123456789", true)
      .then(res => this.result = res)
      .catch(err => this.result = err);
  }
}

Если кто-то все еще ищет это, вы можете использовать этот плагин https://www.npmjs.com/package/cordova-plugin-ussd.

npm и кордова-плагин-ussd

Плагин Cordova добавить Cordova-plugin-ussd

В файле ts добавьте в разделе импорт: объявите var ussd: Any; и используйте функцию набора номера

если ваш телефон поддерживает две SIM-карты и у вас нет второй SIM-карты, измените строку 36 в yourProject\plugins\ng.neiel.cordova.plugins.ussd\src\android\Ussd.java на TelephonyManager Manager2 = SIM2_id != null ? Manager.createForSubscriptionId(SIM2_id.getSubscriptionId()): ноль; и переустановите платформу Cordova

убедитесь, что у вас есть разрешение CALL_PHONE

Другие вопросы по тегам