Ich habe mich gerade gefragt, ob es eine Möglichkeit gibt zu überprüfen, ob ein Android-Gerät (21+) im Nicht stören Modus ist? Ich weiß, es gibt AudioManager.RINGER_MODE_SILENT
, aber ich frage mich, ob das zu dieser Situation gehört, oder ob es eine bessere Möglichkeit gibt, das zu überprüfen?Android: Status "Nicht stören" erkennen?
Antwort
Ich bringe den NECRO mit diesem Beitrag, aber war nur auf der Suche nach einer Lösung für das gleiche Problem und kam vorbei an diesem Post wie ich, also lasse ich eine Lösung für die Zukunft ref.
Ich konnte keine "offizielle" Möglichkeit finden, dies zu tun, aber fand einen Wert, der den DnD-Zustand als eine ganze Zahl zurückgeben kann. Das Feature wird "zen_mode" intern aufgerufen, so dass Sie den aktuellen Wert mit dem folgenden Code überprüfen:
Global.getInt(getContentResolver(), "zen_mode")
Das wird zurück:
- - Wenn DnD off ist.
- - Wenn DnD ist auf - Priorität Nur
- - Wenn DnD ist auf - Total Stille
- - Wenn DnD ist auf - Alarme Nur
Wenn die Einstellung nur Priorität hat, gibt sie nichts zurück, aber Sie können diesen Zustand nach assum herausfinden Keine Nachrichten = Prioritätsnachrichten-Modus.
Das muss ein Fehler gewesen sein, da es jetzt ein Jahr ist, gibt es jetzt einen Wert zurück, genau wie die anderen Zustände. Keine Ahnung, wann es repariert wurde, aber es funktioniert jetzt wie erwartet.
Ich versuchte es auch mit einem Einstellungsbeobachter, der aber nur für bestimmte Zustandsübergänge funktioniert, daher denke ich, dass periodische Abfragen die beste Wette sind, bis eine "offizielle" Methode für diese Zustandsänderung verfügbar ist.
Ich habe beide Beobachter und Abfragemethoden, um den Wert in this Gist zu erhalten. Hoffentlich hilft es jemandem später.
Update 15. März 2017: Danke an David Riha für den Kommentar. Added 1 - Priority Only
Zustand zu beantworten, revised the Gist diesen Zustand zu erkennen, und unbekannte Werte zur Anmeldung ausgeben, falls andere Geräte oder zukünftige Updates entscheiden, einen anderen Wert zurückzugeben.
Mit Zeiger von Android how to turn on do not disturb (dnd) programmatically:
In SDK 23 stellt android.app.NotificationManager die Schnittstelle, die Sie benötigen, nämlich NotificationManager.getCurrentInterruptionFilter()
.
Es sould einem der Rückkehr:
INTERRUPTION_FILTER_PRIORITY
INTERRUPTION_FILTER_ALARMS
INTERRUPTION_FILTER_NONE
INTERRUPTION_FILTER_ALL
INTERRUPTION_FILTER_UNKNOWN
Nach Google Help on Nexus DevicesBitte nicht stören ist eine Funktion von Android> = 6.0, also sollte SDK 23 vernünftig zu fragen sein. Wenn nicht, wäre es vernünftig zu fragen, warum, um einen Workaround anbieten zu können.
- 1. Worauf ist zu achten, um Änderungen im Modus "Nicht stören" in Android zu erkennen?
- 2. Erkennen des Antivirus-Status
- 3. Android: fitsSystemWindows und Newline stören BottomSheets
- 4. Android wie zu aktivieren nicht stören (dnd) programmgesteuert
- 5. Programmatische Überprüfung des Status von "Bitte nicht stören" unter OS X
- 6. So erkennen Sie den Status eines ProgressDialogs
- 7. Einstellung "Bitte nicht stören" in IOS6 lesen
- 8. Mehrere LocationClients stören?
- 9. Ändern Android Switch-Status
- 10. Android: Benutzerinaktivität erkennen/Tastatureingabe (Softkeyboard) erkennen
- 11. Android Studio nicht erkennen USB-Emulator
- 12. setAdapter nicht in Android Studio erkennen
- 13. cmd kann nicht dex2jar- Android Apk erkennen
- 14. Android Studio nicht erkennen Book SDK
- 15. Openfiledialogs stören und Verzeichnisse persistent
- 16. Android-Webansicht: erkennen scroll
- 17. Kann XUnit den Code stören?
- 18. Text-Overlays in Three.js stören Ziehen
- 19. erkennen Shake in Android
- 20. GridView Scrollgeschwindigkeit erkennen - Android
- 21. Android: Erkennen von Flinggesten
- 22. Android erkennen Telefonsperre Ereignis
- 23. Android N-Versionscode erkennen
- 24. WWW.responseHeader [ „STATUS“] existiert nicht
- 25. Batteriezustand und Status in Android
- 26. Wie erkennen Sie den Status der Anwendung statt der Aktivität?
- 27. Cloud-Laufwerk vs. Cloud-Dateien (oder sollten wir nicht stören?)
- 28. Erkennen, wenn Roaming in Android
- 29. Wie kann ich den Overlay-Icon-Status erkennen?
- 30. iOS Facebook ShareLink Umgang mit Facebook stören
Auf meinem Gerät wird 1 zurückgegeben, wenn die Einstellung nur Priorität hat. –
@DavidRiha Danke, dass du darauf hingewiesen hast! Ich habe seit über einem Jahr nicht mehr versucht und kann nun bestätigen, dass es auf meinen Geräten 1 zurückgibt. Ich habe meine Antwort und Gist aktualisiert. – MattMatt