Как отправлять и получать 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-коды напрямую, без запуска приложения для телефона.
- Установите плагин, как описано в документации.
- Используйте его для отправки 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