Próbuję wykryć, kiedy użytkownik odpowiada na telefon. Moja aplikacja wybiera numer telefonu, ale nie widząc odpowiedzi użytkownika, nie mogę wykonać kluczowej funkcji, której potrzebuję. Wygląda na to, że udało ci się to zrobić w wersji 5 i wyżej, jak widać w tym poście, ale nie wiem, jak to zrobić. Wiem, że ktoś musiał wymyślić jakieś obejście, ponieważ, jak wskazała wcześniej jedna osoba, licznik czasu połączenia rozpoczyna się, gdy użytkownik odpowie, więc musi istnieć sposób na jego wykrycie. To pytanie zostało opublikowane wiele razy, ale nikt nie wysyła PRAWIDŁOWO odpowiedzi.Jak sprawdzić, czy połączenie wychodzące jest odbierane, w systemie Android?
Wydaje się, że odpowiedź leży w Tim S. odpowiedzieć tutaj:
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;
}
}
}
Jakieś odpowiedzi lub wskazówki na ten temat? –
znalazłeś jakieś rozwiązanie? – Mujtaba