2014-07-15 8 views
5

W jaki sposób aplikacja sprawdza stan "Zignoruj" urządzenia z Androidem Wear?Android Wear wykrywa "Wycisz"

Wszystkie tomy wydają się być 0 bez względu na wszystko.

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))); 

daje mi

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

Nowsza wersja 4.4W2 obsługuje odtwarzanie dźwięku bezpośrednio przez zestaw słuchawkowy Bluetooth. Więc teraz musi być kontrola głośności? Widzę twój post jest 15 lipca 2014 r. - możesz chcieć ponownie odwiedzić wartości ... –

+0

Zużycie 5.0.1 ma pewne możliwości! Próbka SDK Watchface ma sposób na jej wykrycie. Poszukaj opcji WatchFaceService.INTERRUPTION_FILTER_NONE –

Odpowiedz

3

Niestety, Google nie wydaje się być zdolny do ujawnienia nam nisko deweloperów w tym momencie, o ile mogę powiedzieć.

Dzięki badaniom przyjaciela, Ive znalazłem ten kod.

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

tryb Zen jest co Google wywołuje stan wyciszenia, a obecnie można jedynie uzyskać dostęp do tej wartości z korzenia przez bezpośredni odczyt tego pliku. Mamy nadzieję, że dzięki aktualizacji w niedalekiej przyszłości Google ujawni nam tę wartość.

+0

Google opublikowało teraz źródło Wear tutaj: https://android.googlesource.com/platform/frameworks/base /+/android-4.4w_r1 Nie jestem dostatecznie zaznajomiony ze źródłem Androida, aby to wytropić, czy ktoś jeszcze nie podjął się tego wyzwania? – String

+0

To niestety już nie działa –

+0

To niestety nigdy nie zadziałało ... – r2DoesInc

1

Próbowałaś tych? Wygląda na to, że szukasz VOLUME, którego nie ma w Androidzie Wear. https://stackoverflow.com/a/11985560/1539431

+0

Próbowałem tego - nie działa. audio.getRingerMode() zawsze zwraca 0. –

+0

Ah. Na razie nie mam pomysłów. – kentarosu

+0

Skłamałem, całkowicie nie z pomysłów. Prawdopodobnie nie używa tego żadnego. Prawdopodobnie w telefonie działa usługa nasłuchiwania, która po prostu mówi: "if (muted) return;" lub coś podobnego. Być może trzeba pomyśleć po wyjęciu z pudełka i nieco więcej; spróbuj spojrzeć na dzienniki, gdy wyciszysz/wyłączysz urządzenie do noszenia, a także telefon. Istnieje wiele poręcznych dzienników, więc możesz znaleźć rozwiązanie. – kentarosu