Как обнаружить входящий звонок и получить номер звонящего с помощью Ionic-v4? - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу отобразить номер звонящего при входящем звонке с использованием ionic 4, здесь мой код.

home.ts

import { Component } from '@angular/core';
import { AndroidPermissions } from '@ionic-native/android-permissions/ngx';

declare var PhoneCallTrap: any;
//phone calls
declare var window: any;

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {

  constructor(private androidPermissions: AndroidPermissions) {
    this.checkPermissionCall();
  }

  //phone calls
  checkPermissionCall() {
    this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.READ_PHONE_STATE).then(
      success => {
        //if permission granted
        this.phonecalls();
      },
      err => {
        this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.READ_PHONE_STATE).
          then(success => {
            this.phonecalls();
          },
            err => {
              console.log("cancelled")
            });
      });
    this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.READ_PHONE_STATE]);
  }

  //phone calls
  phonecalls() {
    if (window.PhoneCallTrap) {
      window.PhoneCallTrap.onCall(function (state) {
        alert("CHANGE STATE: " + state);
        //var callObj = JSON.parse(state),
        ///state = callObj.state,
        this.callingNumber = state.incomingNumber;
        alert("callingNumber STATE: " + this.callingNumber);

        switch (state) {
          case "RINGING":
            console.log("Phone is ringing");
            break;
          case "OFFHOOK":
            console.log("Phone is off-hook");
            break;

          case "IDLE":
            console.log("Phone is idle");
            break;
        }
      });
    }
  }
}

Я сделал это, с этим я получаю состояние телефона, как будто телефон звонит, когда кто-то звонит, но как я могу получить номер? и как я могу получить имена входящих звонящих от контакта? Есть ли какие-то решения для этого?

Я использую этот плагин: Cordova PhoneCall Trap

...