Sto provando a rilevare quando un utente risponde al telefono. La mia app chiama il numero di telefono ma senza vedere se l'utente ha risposto, non posso eseguire una funzione chiave di cui ho bisogno. Sembra che tu sia stato in grado di farlo nella versione 5 e successive come visto in questo post, ma non riesco a capire come farlo. So che qualcuno deve aver escogitato un work-around perché come una persona in precedenza ha dichiarato che il timer di chiamata inizia quando l'utente risponde, quindi deve esserci un modo per rilevarlo. Questa domanda è stata pubblicata molte volte, ma nessuno pubblica una risposta CORRETTA.Come verificare se una chiamata in uscita ha una risposta, in Android?
Sembra che la risposta si trova in Tim S. risposta qui:
Cannot detect when outgoing call is answered in Android
<uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
<receiver android:name=".listener.OutCallLogger">
<intent-filter>
<action android:name="android.intent.action.PRECISE_CALL_STATE" />
</intent-filter>
</receiver>
public class OutCallLogger extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
switch (intent.getIntExtra(TelephonyManager.EXTRA_FOREGROUND_CALL_STATE, -2) {
case PreciseCallState.PRECISE_CALL_STATE_IDLE:
Log.d(This.LOG_TAG, "IDLE");
break;
case PreciseCallState.PRECISE_CALL_STATE_DIALING:
Log.d(This.LOG_TAG, "DIALING");
break;
case PreciseCallState.PRECISE_CALL_STATE_ALERTING:
Log.d(This.LOG_TAG, "ALERTING");
break;
case PreciseCallState.PRECISE_CALL_STATE_ACTIVE:
Log.d(This.LOG_TAG, "ACTIVE");
break;
}
}
}
Eventuali risposte o indicazioni per questo? –
hai trovato qualche soluzione? – Mujtaba