Holen Sie sich die Nummer, die ich Android anrief,
-
26-10-2019 - |
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?
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());
}