Frage

Ich muss die Nummer erhalten, die ich programmgesteuert von meinem Android -Gerät aufrufe. Was ich jetzt mache, ist Folgendes:

Ich höre auf android.intent.action.PHONE_STATE Ausgestrichen werden, was bedeutet, dass ich entweder angerufen werde oder rufe (oder eine SMS usw.).

In einem BroadcastReceiver Ich hole das Extra incoming_number Aus der Absicht. Leider kann ich die Nummer nicht bekommen, die aufgerufen wird, wenn ich Initiieren Sie den Anruf jedoch. Wie kann ich das machen?

War es hilfreich?

Lösung

Sie müssen die Absicht verwenden android.intent.action.NEW_OUTGOING_CALL In dieser Absicht können Sie das Extra bekommen Intent.EXTRA_PHONE_NUMBER die die ausgehende Nummer enthält.

Die Absicht wird ausgestellt, wenn ein neuer ausgehender Anruf in Betrieb ist.

Sie benötigen die Erlaubnis android.permission.PROCESS_OUTGOING_CALLS dafür.

Ich hoffe, das hilft.

Andere Tipps

@Override
public void onReceive(Context context, Intent intent) {
    String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
    Log.d("OutgoingCallReceiver",phonenumber);
    Log.d("OutgoingCallReceiver",intent.getExtras().toString());
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top