Stellen Sie eine Kombination aus Vibration, Licht oder Ton für eine Benachrichtigung in Android ein

7

Ich möchte dem Benutzer die Möglichkeit geben, Lichter, Sounds oder Vibration oder eine Kombination dieser drei für Warnungen auf Notification auszuwählen.

In android docs habe ich gesehen, dass es eine Option von DEFAULT_ALL gibt, bei der in allen drei Methoden von Alerts verwendet wird.

Sonst gibt es eine Option, die eine davon auswählt ( DEFAULT_LIGHTS , DEFAULT_VIBRATE , DEFAULT_SOUND ).

Gibt es eine Möglichkeit, eine Kombination von zum Beispiel SOUND und VIBRATION , aber keine LIGHTS und andere Kombinationen zu machen?

BEARBEITEN

Notification.Builder's (aus der Antwort von prolink007) Methode setDefaults(int default) sagt das:

  

Der Wert sollte eines oder mehrere der folgenden Felder sein, kombiniert mit bitweises-oder : DEFAULT_SOUND, DEFAULT_VIBRATE, DEFAULT_LIGHTS.

Wie sollte das verwendet werden?

    
Ashwin 17.08.2012, 13:25
quelle

5 Antworten

20

Die Notification.Builder API 11 oder NotificationCompat.Builder API 1 bietet einige verschiedene Methoden zum Einstellen dieser Arten von Warnungen.

  • setLights (...)
  • setSound (...)
  • setVibrate (...)
  

Der Wert sollte eines oder mehrere der folgenden Felder sein, kombiniert mit bitweisem oder: DEFAULT_SOUND, DEFAULT_VIBRATE, DEFAULT_LIGHTS.

Nicht getestet, aber ich glaube, Sie würden so etwas tun, wenn Sie SOUND , VIBRATION und LIGHTS :

möchten %Vor%     
prolink007 17.08.2012, 13:31
quelle
5

Ich weiß, dass diese Antwort vor einer Weile beantwortet wurde, aber ich wollte nur meinen Weg darlegen, der ideal für eine Mehrfachkombination von Licht, Vibration und Sound ist, nützlich, falls Sie dem Benutzer Optionen anbieten um sie zu aktivieren oder zu deaktivieren.

%Vor%     
Raveesh Bhalla 16.04.2014 19:35
quelle
4
___ answer12006811 ___

Die Notification.Builder API 11 oder NotificationCompat.Builder API 1 bietet einige verschiedene Methoden zum Einstellen dieser Arten von Warnungen.

  • setLights (...)
  • setSound (...)
  • setVibrate (...)
  

Der Wert sollte eines oder mehrere der folgenden Felder sein, kombiniert mit bitweisem oder: DEFAULT_SOUND, DEFAULT_VIBRATE, DEFAULT_LIGHTS.

Nicht getestet, aber ich glaube, Sie würden so etwas tun, wenn Sie %code% , %code% und %code% :

möchten %Vor%     
___ qstntxt ___

Ich möchte dem Benutzer die Möglichkeit geben, Lichter, Sounds oder Vibration oder eine Kombination dieser drei für Warnungen auf %code% auszuwählen.

In android docs habe ich gesehen, dass es eine Option von %code% gibt, bei der in allen drei Methoden von Alerts verwendet wird.

Sonst gibt es eine Option, die eine davon auswählt ( %code% , %code% , %code% ).

Gibt es eine Möglichkeit, eine Kombination von zum Beispiel %code% und %code% , aber keine %code% und andere Kombinationen zu machen?

BEARBEITEN

%code% (aus der Antwort von prolink007) Methode %code% sagt das:

  

Der Wert sollte eines oder mehrere der folgenden Felder sein, kombiniert mit bitweises-oder : DEFAULT_SOUND, DEFAULT_VIBRATE, DEFAULT_LIGHTS.

Wie sollte das verwendet werden?

    
___ answer23118598 ___

Ich weiß, dass diese Antwort vor einer Weile beantwortet wurde, aber ich wollte nur meinen Weg darlegen, der ideal für eine Mehrfachkombination von Licht, Vibration und Sound ist, nützlich, falls Sie dem Benutzer Optionen anbieten um sie zu aktivieren oder zu deaktivieren.

%Vor%     
___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ antwort19884409 ___

Für die Portabilität bevorzuge ich NotificationCompat .
Der Benutzer wird möglicherweise seine Standardwerte bevorzugen. In NotificationCombat können Sie Vibration, Licht und Sound auf die Standardeinstellungen des Benutzers einstellen:

%Vor%

wobei "-1" mit DEFAULT_ALL übereinstimmt: Ссылка

Nicht, dass Sie die VIBRATE-Berechtigung anfordern müssen, sonst erhalten Sie einen Fehler. Fügen Sie dies Ihrer Android-Manifestdatei hinzu:

%Vor%     
___ answer49043911 ___

Ich habe das gleiche Problem, aber nach der Landung bekam ich eine bessere Lösung. Hier ist ein Kotlin:

%Vor%     
___ answer14028543 ___

Bei Jelly-Bean-Geräten funktioniert die LED nur, wenn die Benachrichtigungspriorität auf "Max" oder "Standard" eingestellt ist. Bitte überprüfen Sie sie erneut. Das folgende Code-Snippet funktioniert auf jb-Geräten einwandfrei für mich.

%Vor%

Hier zeige ich eine blaue LED-Farbe für die Benachrichtigung, die für 100 ms an und für 3000 ms aus bleibt, bis der Benutzer sein Gerät entriegelt.

Und prüfen Sie, ob Sie die NotificationCompat (Kompatibilitäts) -Klasse verwenden, als die setDefaults-Methode und verwenden Sie SetLight, SetSound, Setvibration, etc

    
___ tag123androidnotifications ___ Eine Statusbenachrichtigung fügt der Statusleiste des Systems ein Symbol hinzu (mit einer optionalen Ticker-Textnachricht) und eine Benachrichtigung im Benachrichtigungsfenster. ___ qstnhdr ___ Stellen Sie eine Kombination aus Vibration, Licht oder Ton für eine Benachrichtigung in Android ein ___
trante 09.11.2013 23:24
quelle
1

Bei Jelly-Bean-Geräten funktioniert die LED nur, wenn die Benachrichtigungspriorität auf "Max" oder "Standard" eingestellt ist. Bitte überprüfen Sie sie erneut. Das folgende Code-Snippet funktioniert auf jb-Geräten einwandfrei für mich.

%Vor%

Hier zeige ich eine blaue LED-Farbe für die Benachrichtigung, die für 100 ms an und für 3000 ms aus bleibt, bis der Benutzer sein Gerät entriegelt.

Und prüfen Sie, ob Sie die NotificationCompat (Kompatibilitäts) -Klasse verwenden, als die setDefaults-Methode und verwenden Sie SetLight, SetSound, Setvibration, etc

    
Pawan M 25.12.2012 07:15
quelle
0

Ich habe das gleiche Problem, aber nach der Landung bekam ich eine bessere Lösung. Hier ist ein Kotlin:

%Vor%     
Shahar 01.03.2018 06:36
quelle