Autore Topic: Inserimento toni chiamata  (Letto 1524 volte)

Offline ethack

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 android 4.0.4
  • Sistema operativo:
    windows 7
Inserimento toni chiamata
« il: 15 Novembre 2013, 14:25:42 CET »
0
Salve, amici di anddevitalia, sto lavorando ad una applicazione che gestisce delle chiamate.
In pratica dovrei inserire un PIN quando un numero X mi chiama, dovrei simulare un inserimento PIN da tastiera quando vengo chiamato e non quando effettuo la chiamata.
Secondo voi è fattibile? Attendo con ansia una risposta.   :-\

Post unito: 15 Novembre 2013, 15:37:27 CET
Io avevo pensato di simulare una tastiera e quindi la digitazione, è fattibile?
« Ultima modifica: 15 Novembre 2013, 15:37:27 CET da ethack, Reason: Merged DoublePost »

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:Inserimento toni chiamata
« Risposta #1 il: 15 Novembre 2013, 15:48:53 CET »
0
Si è fattibile, basta registrare un PhoneStateListener nel TelephonyManager

In pratica :
Codice (Java): [Seleziona]
// Crea un Listener personale che estende PhoneStateListener
Public Class MyPhoneStateListener extends PhoneStateListener {
  @Override
  public void onCallStateChanged(int state, String incomingNumber) {
      switch (state) {
          case TelephonyManager.CALL_STATE_RINGING:
                  // il tuo codice
          break;
      }
  }
}
....
// Dentro la tua Activity per esempio...
MyPhoneStateListener mpsl = new MyPhoneStateListener() ;
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.listen(mpsl, PhoneStateListener.LISTEN_CALL_STATE);

// Per disattivare il listener invece richiami sempre il metodo listen passando come argomento PhoneStateListener.LISTEN_NONE
tm.listen(mpsl, PhoneStateListener.LISTEN_NONE);

Ricorda di mettere i permessi necessari nel Manifest. Se invece vuoi che si attivi la tua app ogni qualvolta si riceva una chiamata da un determinato numero, dovrai creare un Service e un BroadcastReceiver.

Offline ethack

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 android 4.0.4
  • Sistema operativo:
    windows 7
Re:Inserimento toni chiamata
« Risposta #2 il: 15 Novembre 2013, 18:55:47 CET »
0
Grazie per la risposta, adesso provo se ho problemi ti dico ;)

Post unito: 15 Novembre 2013, 18:57:33 CET
forse mi sono espresso male, devo inserire un pin qundo ricevo una chiamata e la prendo, cioè dei toni tastiera come se inserissi manualmente.

Post unito: 15 Novembre 2013, 19:16:13 CET
Forse posso usare CALL_STATE_OFFHOOK ??
« Ultima modifica: 15 Novembre 2013, 19:16:13 CET da ethack, Reason: Merged DoublePost »

Offline ethack

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 android 4.0.4
  • Sistema operativo:
    windows 7
Re:Inserimento toni chiamata
« Risposta #3 il: 11 Dicembre 2013, 11:55:14 CET »
0
Ragazzi in parole povere dovrei riuscire a mandare dei toni DTMF quando ricevo una chiamata e sono in conversazione, come se simulassi l'inserimento manuale da tastiera, cercando in rete ho trovato questa interessante discussione: https://code.google.com/p/android/issues/detail?id=1428
dove viene fatta la stessa richiesta, poi continuando ancora ho trovato qualcosa che forme può fare al caso mio: com.android.phone.DTMFTwelveKeyDialer (Java2HTML)

ed esiste la possibilità ti utilizzare il ToneGenerator ToneGenerator | Android Developers

per generare dei toni DTMF.

Ora mi appello a voi che senza alcun dubbio avete moltissima esperienza. Come potrei riuscire nel mio intendo?

Devo mandare dei toni DTMF ad esempio un PIN 1234 quando ricevo una chiamata da un numero determinato ad esempio 000-0123847, quindi quando rispondo e sono in conversazione dovrei andare a simulare l'inserimento di questi toni.
Grazie a presto.