如何使用离子平台发送和接收 USSD 代码?

问题描述 投票:0回答:3

我是 Ionic 平台的初级开发人员,现在我在发送和接收 USSD 代码时遇到了问题....请帮助我,你知道吗。

ionic-framework cross-platform ussd
3个回答
4
投票

根据我在网上找到并测试过的, 你可以发送 USSD 代码

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

并使其发挥作用,您需要在 CONFIG.XML 中提供访问权限,简单添加

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

唯一的缺点是:它不会直接拨打您的号码,而是在设备默认的Dailer中打开它。

注意:我是 Stack 的新手,所以不知道正式的回答方式。 玩得开心!


0
投票

我建议使用 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);
  }
}

0
投票

如果有人还在寻找这个,你可以使用这个插件https://www.npmjs.com/package/cordova-plugin-ussd

npm i cordova-plugin-ussd

cordova 插件添加 cordova-plugin-ussd

在你的 ts 文件中添加 imports: declare var ussd: any; 并使用拨号功能

如果你的手机支持双卡,而你没有第二张SIM卡 更改 yourProject\plugins 中的第 36 行 g.neiel.cordova.plugins.ussd\src android\Ussd.java 到 TelephonyManager manager2 = SIM2_id != null ? manager.createForSubscriptionId(SIM2_id.getSubscriptionId()) : null; 并重新安装 cordova 平台

确保您拥有 CALL_PHONE 权限

© www.soinside.com 2019 - 2024. All rights reserved.