Wie man ausgehenden Anruf in Android auflegt?
Ich entwickle eine Anwendung, wo man die Dinge, die wir brauchen, ist die Kontrolle des ausgehenden anrufen, zumindest in der Lage sein, um es zu stoppen aus unserer Anwendung.
Ich habe versucht, mit Intent.ACTION_CALL
aus einer bestehenden Aktivität:
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
startActivity(callIntent);
Aber halt der Ruf scheint erlaubt sein, über die API.
Können Sie vorschlagen, einige workaround?
Zum Beispiel: Aktivierung des Flugzeug-Modus während des Gesprächs? Nur ein Beispiel; dieser hack funktionierte bei mir nicht.
InformationsquelleAutor der Frage Tilek | 2009-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erfassung der ausgehenden Anrufs in einem
BroadcastReceiver
wurde erwähnt und ist definitiv der beste Weg, es zu tun, wenn Sie möchten, beenden Sie den Anruf vor dem wählen.Einmal anwählen oder in-call jedoch, dass die Technik nicht mehr funktioniert. Der einzige Weg, um aufzulegen, die ich erlebt habe bisher, ist, so zu tun, die durch die Java Reflexion. Da es nicht Teil der öffentlichen API, sollten Sie vorsichtig sein, es zu benutzen, und sich nicht auf es. Jede änderung der internen Zusammensetzung der Android-effektiv brechen Ihre Anwendung.
Prasanta Paul ' s blog zeigt , wie es erreicht werden kann, die ich unten zusammengefasst.
Erhalt der
ITelephony
Objekt:Beenden des Gesprächs:
InformationsquelleAutor der Antwort Paul Lammertsma
Versuchen Sie dies:
(Ich habe Reflexion Zugriff auf erweiterte Telefoniefunktionen und ändern jährigen)
InformationsquelleAutor der Antwort Felipe
BroadcastReceiver
mit einer Priorität von 0.ACTION_NEW_OUTGOING_CALL
Absicht in seineronReceive
MethodesetResultData(null)
im gleichen MethodeDies verhindert, dass der Anruf von der Einleitung (solange Ihr receiver ist der Letzte, der Prozess der Absicht, denke ich)
InformationsquelleAutor der Antwort
Können Sie versuchen, aktivieren, dann deaktivieren Sie den Flugmodus:
InformationsquelleAutor der Antwort Gung Shi Jie
Für Ilana:
Zusätzlich in der Manifest setzen im Paket Abschnitt:
Das ist alles.
InformationsquelleAutor der Antwort Tony
Angesichts des Potenzials für wunderbaren Unfug, ich wäre überrascht, wenn dies erlaubt ist.
Diesem thread erklärt Rundweg, daß die API kann beenden von anrufen. Andere versucht haben.
InformationsquelleAutor der Antwort
Hier ist der aktuelle code, der funktioniert für Android P zu, denn es hat eine offizielle API für die es (hier) :
in der manifest-Datei, fügen Sie diese:
Im code verwenden:
Java:
oder in Kotlin:
InformationsquelleAutor der Antwort android developer
Laut der Dokumentation auf ACTION_NEW_OUTGOING_CALL
InformationsquelleAutor der Antwort Denis Souza