Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Obter dados do Telefone,

Peço desculpas por estar fazendo perguntas além do proposto do curso, mas gostaria de obter uma informação, consegui 90%, mas justamente o número do telefone nao consegui....vou colocar o código

Objetivo, autenticar e-mail, telefone e serial...função especifica pra Diretor, por exemplo... e achei isso, vi que tem muito mais utilidades...

Funciona todos os valores, veem todos...menos o numero do telefone. Ah, e pediu autorização tambem

Tem algo errado?

import { Sim } from '@ionic-native/sim';

public simInfo: any;

public cards: any;  

Constructor(
    private sim: Sim
){}

async getSimData() {
    try {
      let simPermission = await this.sim.requestReadPermission();
      if (simPermission == "OK") {
            let simData = await this.sim.getSimInfo();
            this.simInfo = simData;
            this.cards = simData.cards;
            console.log(simData);
      }
    } catch (error) {
      console.log(error);
    }
}

Aplicado o SIM no app.module e providers

Html

 <button ion-button full (click)="getSimData()">
    get info
 </button>
<ion-list *ngIf="simInfo">
        <ion-item  ><b>countryCode</b> {{ simInfo.countryCode }}</ion-item>  
        <!-- NUMERO DO TELEFONE -->
        <ion-item  ><b>Phone</b> {{ simInfo.phoneNumber }}</ion-item>  

</ion-list>

<ion-card  *ngFor= "let card of cards" >
        <ion-card-header>
          {{card.carrierName}}
        </ion-card-header>
        <ion-card-content>
          <ion-list>
            <ion-item><b>simSlotIndex</b> {{ card.simSlotIndex }}</ion-item>  
            <ion-item><b>displayName</b> {{ card.displayName }}</ion-item>  
            <ion-item><b>isNetworkRoaming</b> {{ card.isNetworkRoaming }}</ion-item>  
            <ion-item><b>isDataRoaming</b> {{ card.isDataRoaming }}</ion-item>  
            <ion-item><b>simSerialNumber</b> {{ card.simSerialNumber }}</ion-item>   
        <!-- NUMERO DO TELEFONE POR CARD-->
            <ion-item><b>Phone</b> {{ card.phoneNumber }}</ion-item>

          </ion-list>
        </ion-card-content>
</ion-card>
3 respostas
solução!

Boa tarde, Andre! Como vai?

Aparentemente vc está fazendo tudo certo! No entanto, na documentação, eles afirmam que o número do telefone é uma informação não confiável!

Notice: the content of phoneNumber is unreliable (see this, this, and this article). Sometimes phoneNumber is only an empty string.

Se as permissões estiverem todas corretas, imagino que o motivo para o número do telefone vir vazio seja esse explicado na documentação!

Grande abraço e bons estudos, meu aluno!

Obrigado. É usei essa documentação mesmo para verificar, realmente o número é um dos poucas informações que não vem. Seria interessante, mas se pode pegar outra informação como:

deviceId: {String} [READ_PHONE_STATE] the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA phones

De qualquer maneira, obrigado.

Por nada, André! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software