2014-06-23 13 views
5

Ich verwende derzeit die READ_PHONE_STATE-Berechtigung in Android, um meinen Media Player bei einem Anruf anzuhalten und die Wiedergabe fortzusetzen, wenn der Anruf beendet ist. Die Erlaubnis scheint eine Menge Leute zu erschrecken, also habe ich mich gefragt, ob es eine Alternative gibt, um das Anfangen und Stoppen eines Telefonanrufs ohne es zu fangen. Jede Hilfe wird geschätzt. Vielen Dank!Alternative zur READ_PHONE_STATE-Berechtigung für die Benachrichtigung über den Anruf

+0

Ich denke, die [Audiofokus-Unterstützung] (http://developer.android.com/training/managing-audio/audio-focus.html) soll damit umgehen, obwohl ich nicht mit diesem Teil des experimentiert habe SDK. – CommonsWare

+0

Danke. Ich werde das untersuchen. – codeman

+0

Das hat funktioniert! Wenn Sie es als Antwort hinzufügen, werde ich es akzeptieren. Vielen Dank! – codeman

Antwort

4

Wenn Sie die Audioausgabe als Reaktion auf eine andere Audioausgabe (z. B. ein eingehendes Telefonat) anpassen möchten, sehen Sie sich die audio focus support von Android an. READ_PHONE_STATE, wie bereits erwähnt, ist ein bisschen eine gruselige Erlaubnis. Darüber hinaus handelt es sich nur um Telefonanrufe und nicht um andere Dinge, die möglicherweise die gleiche Fähigkeit benötigen (z. B. VOIP-Anrufe, da AFAIK diese nicht in READ_PHONE_STATE-fähige Sachen einbinden).

-1

Leider Audio Fokus ist kein Ersatz für READ_PHONE_STATE. Meine App muss beides verwenden. Die Standardtelefon-App auf meinem Galaxy S3 I9300/Android 4.3 scheint den Audiofokus überhaupt nicht anzufordern. Die TelephonyManager-Klasse bietet Ihnen die Möglichkeit, das Ende des Telefonanrufs zu erkennen (durch Senden der CALL_STATE_IDLE-Statusaktualisierung). Der AudioManager scheint nichts Ähnliches zu tun, selbst wenn der Audiofokus verwendet werden könnte, wäre er nicht so nützlich. Und aus dem, was ich in der Dokumentation sehe, scheint es keine engere Erlaubnis als READ_PHONE_STATE zu geben, die es der App erlauben würde, den Telefonstatus, aber nicht die Anrufinformation zu lesen. Wenn ich falsch liege, korrigiere mich bitte.

-1

Leider Audio Fokus ist kein Ersatz für READ_PHONE_STATE. Meine App muss beides verwenden. Die Standardtelefon-App auf meinem Galaxy S3 I9300/Android 4.3 scheint den Audiofokus überhaupt nicht anzufordern. Die TelephonyManager-Klasse bietet Ihnen die Möglichkeit, das Ende des Telefonanrufs zu erkennen (durch Senden der CALL_STATE_IDLE-Statusaktualisierung). Der AudioManager scheint nichts Ähnliches zu tun, selbst wenn der Audiofokus verwendet werden könnte, wäre er nicht so nützlich. Und aus dem, was ich in der Dokumentation sehe, scheint es keine engere Erlaubnis als READ_PHONE_STATE zu geben, die es der App erlauben würde, den Telefonstatus, aber nicht die Anrufinformation zu lesen. Wenn ich falsch liege, korrigiere mich bitte.

Verwandte Themen