Programmgesteuertes Umleiten von eingehenden Anrufen an Voicemail, wenn mein Kalender ein beschäftigtes Ereignis aufweist

8

Da ich neu in der Android-Entwicklung bin, habe ich StackOverflow für eine Antwort auf diese Frage recherchiert: Wie man den Klingelton für alle eingehenden Nachrichten und Anrufe stumm schaltet, wenn ich in einer Besprechung sein soll, wie in meinem Kalender angezeigt. Ich kann auf den Kalender zugreifen und prüfen, ob die aktuelle Zeit innerhalb der für ein Ereignis festgelegten Zeiten liegt. Aber wie sende ich eingehende Anrufe an Voicemail (und sende eine SMS an den Anrufer). Ich habe hier viele Fragen gestellt:

" Erkennung eingehender Anrufe in einem Android-Gerät ? "

" Empfänger für eingehende Anrufe funktioniert nicht (Android 4.1) "

" How to einen eingehenden Anruf mit Hilfe des Broadcast Receivers erkennen? "

" Bildschirm für benutzerdefinierte eingehende / ausgehende Anrufe in Android "

" wie Sie einen eingehenden Anruf tätigen können von unserer Anwendung "

" Android: Ist die vollständige Kontrolle über das Telefon (Kioskmodus) möglich? Wie? "

" So können Sie eingehende Anrufe trennen Androide programmatisch "

Das ITelefony mit AIDL sah vielversprechend aus, bis ich herausfand, dass es aufgrund von Sicherheitsproblemen unter Android 4.2 usw. nicht mehr funktioniert.

Im Moment die Antwort: " Wie erkennt man eingehende Anrufe auf einem Android-Gerät? "scheint besser zu sein, nur weil es eingehende Anrufe elegant zu behandeln scheint - aber die Antwort spricht nicht darüber, wie man (a) den Klingelton stumm schaltet, (b) den Anruf beendet / umleitet usw. - das Beispiel erklärt Wie kann man feststellen, in welchem ​​Zustand sich das Telefon gerade befindet? Der andere Nachteil scheint zu sein, dass ich mich bemühe, die Listener-Funktion aufzuheben, was bedeutet, dass selbst nach Beendigung der Beispiel-App der Hörer immer noch aktiv zu sein scheint und bei jedem Anruf aktiv wird. Nur so scheint es zu sein, das Telefon neu zu starten - was sehr nervig ist.

Der andere Aspekt ist, dass die meisten dieser Fragen ein Jahr oder älter sind und einige der alten Antworten nicht mehr gültig sind - wie ich bereits erwähnte - die ITelefonie sah vielversprechend aus, funktioniert aber nicht mehr mit neuen Telefonen.

Die Google-Dokumentation scheint darauf hinzudeuten, dass ein Programm programmgesteuert eine Antwort auf einen eingehenden Anruf in einer SMS-Nachricht einreichen kann, indem es eine Absicht usw. sendet - aber keine Beispiele und die Dokumentation von Google möglicherweise veraltet (oder nicht) Ich lese eine alte Version davon im Internet - obwohl ich nicht weiß, wie es möglich ist, da ich die Google-Suche verwende, um eine Antwort zu finden.)

    
VLBaindoor 02.04.2014, 00:47
quelle

1 Antwort

1

Das Stummschalten des Klingeltons und Beenden des eingehenden / ausgehenden Anrufs ist weiterhin möglich.

Zuerst das Beispiel aus " Wie eingehende Anrufe erkannt werden , in einem Android-Gerät? "ist der richtige Weg, um den eingehenden Anruf zu erkennen.

Nun zum Stummschalten des Klingeltons und Beenden des Anrufs:

Erstellen Sie zuerst eine Schnittstelle namens "ITelefony" im Paket "com.android.internal.telephony":

Ссылка

Und fügen Sie diesen Code der Schnittstelle hinzu:

%Vor%

Fügen Sie dann bei der Methode, mit der Sie den Klingelton stummschalten und den Anruf beenden möchten, folgenden Code hinzu:

%Vor%

Schließlich müssen Sie in Ihrem Manifest diese Berechtigungen hinzufügen:

%Vor%

Ich habe diesen Code auf vielen Geräten getestet und es funktioniert, wenn Sie irgendein Problem haben, zögern Sie nicht mich zu fragen:)

    
Jorge Corea 13.05.2016 16:49
quelle

Tags und Links