2014-07-15 4 views
5

Wie überprüft eine Anwendung den Status "Stumm" eines Android Wear-Geräts?Android Wear erkennt "Stumm"

Alle Volumes scheinen 0 egal zu sein.

Log.d("VOLUME - STREAM_SYSTEM", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM))); 
Log.d("VOLUME - STREAM_NOTIFICATION", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION))); 
Log.d("VOLUME - STREAM_RING", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_RING))); 

gibt mir

D/VOLUME - STREAM_SYSTEM(32598): 0 
D/VOLUME - STREAM_NOTIFICATION(32598): 0 
D/VOLUME - STREAM_RING(32598): 0 
+0

Neuere Wear 4.4W2 unterstützt die Wiedergabe von Audio direkt über ein Bluetooth-Headset. Also muss es jetzt eine Lautstärkeregelung dafür geben? Ich sehe, dass dein Beitrag der 15. Juli 2014 ist. Vielleicht möchtest du die Werte erneut aufrufen ... –

+0

Wear 5.0.1 hat einige Fähigkeiten! Das SDK-Beispiel Watchface hat eine Möglichkeit, es zu erkennen. Suchen Sie nach WatchFaceService.INTERRUPTION_FILTER_NONE –

Antwort

3

Leider hat Google es nicht für angebracht gehalten, uns dies zu diesem Zeitpunkt, soweit ich das beurteilen kann, zu erklären.

Dank der Forschung eines Freundes von mir, habe ich diesen Code gefunden.

public static boolean inZenMode(Context paramContext) 
    { 
    return paramContext.getSharedPreferences("home_preferences", 0).getBoolean("in_zen_mode", false); 
    } 

Zen-Modus ist, was Google die Mute-Zustand nennt, und derzeit können Sie nur diesen Wert mit Root-Zugriff, indem Sie direkt die Datei zu lesen. Hoffentlich mit einem Update in naher Zukunft, Google wird diesen Wert uns offen legen.

+0

Google hat jetzt Quelle für Wear hier veröffentlicht: https://android.googlesource.com/platform/frameworks/base/+/android-4.4w_r1 Ich bin nicht genug vertraut mit der Android-Quelle, um dies zu verfolgen, sonst jemand für die Herausforderung? – String

+0

Das funktioniert leider nicht mehr. –

+0

Das hat leider nie funktioniert ... – r2DoesInc

1

Haben Sie diese versuchen? Es sieht so aus, als ob du nach VOLUME suchst, das es in Android Wear nicht gibt. https://stackoverflow.com/a/11985560/1539431

+0

Ich habe das versucht - funktioniert nicht. audio.getRingerMode() gibt immer 0 zurück. –

+0

Ah. Dann habe ich vorerst keine Ideen mehr. – kentarosu

+0

Ich habe gelogen, total keine Ideen. Es wird wahrscheinlich nichts davon verwenden. Es gibt wahrscheinlich einen Listener-Dienst auf dem Telefon, der einfach sagt "if (muted) return;" oder so. Sie müssen vielleicht über den Tellerrand hinaus schauen und etwas mehr gebrauchen; Versuchen Sie, die Protokolle anzuschauen, wenn Sie sowohl Ihr Gerät als auch das Telefon stumm schalten. Viele Wearable Logs sind da, so dass Sie möglicherweise eine Lösung finden können. – kentarosu