Ich habe den neueren NotificationCompat-Builder verwendet und kann die Benachrichtigung nicht erhalten, um einen Ton zu erzeugen. Es wird vibrieren und das Licht blinken. In der Android-Dokumentation heißt es, einen Stil festzulegen, mit dem ich gearbeitet habe:
builder.setStyle(new NotificationCompat.InboxStyle());
Aber kein Ton?
Der vollständige Code:
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Notifications Example")
.setContentText("This is a test notification");
Intent notificationIntent = new Intent(this, MenuScreen.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(contentIntent);
builder.setAutoCancel(true);
builder.setLights(Color.BLUE, 500, 500);
long[] pattern = {500,500,500,500,500,500,500,500,500};
builder.setVibrate(pattern);
builder.setStyle(new NotificationCompat.InboxStyle());
// Add as notification
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(1, builder.build());
android
android-notifications
James MV
quelle
quelle
Antworten:
Was fehlte in meinem vorherigen Code:
quelle
Legen Sie einfach Ihre Sounddatei in den
Res\raw\siren.mp3
Ordner und verwenden Sie diesen Code:Für benutzerdefinierten Sound:
Für Standardton:
Für benutzerdefiniertes Vibrieren:
Für Standardvibrieren:
quelle
Ein anderer Weg für den Standardton
quelle
VERWENDUNG Kann Codierung
quelle
Geben Sie einfach den folgenden einfachen Code ein:
Für Standardton:
quelle
Sie müssen RingtoneManager verwenden
Code für noficationmanager mit Alarmklingelton Sie können auch den Klingelton RingtoneManager.TYPE_RINGTONE einstellen
quelle
Sie müssen Builder verwenden. setSound
quelle
Sie können eine Funktion erstellen:
Rufen Sie diese Funktion auf, wenn Sie eine Benachrichtigung erhalten.
Hier ist raw der Ordner in res und die Benachrichtigung ist die Sounddatei im raw-Ordner.
quelle
Unter Oreo (Android 8) und höher sollte dies für benutzerdefinierten Sound auf diese Weise erfolgen (Benachrichtigungskanäle):
quelle
1. Legen Sie die MP3-Datei "yourmp3file" in den Rohordner (dh in den Res-Ordner).
2. in Ihren Code setzen ..
Dies ist, was ich in meinem onClick (View v) als nur "context (). GetPackageName ()" eingefügt habe, funktioniert von dort nicht, da es keinen Kontext erhält
quelle
In Android OREO oder einer höheren Version Nach Registrieren Sie den Kanal beim System. Sie können die Wichtigkeit oder andere Benachrichtigungsverhalten nach diesem Kanal nicht mehr ändern (vor dem Deinstallieren der App).
Priorität ist auch hier am wichtigsten. Setzen Sie die Benachrichtigungspriorität mithilfe von auf Hoch
Vom Benutzer sichtbare Wichtigkeitsstufe Bedeutung (Android 8.0 und höher)
1) Dringend Erzeugt einen Ton und wird als Heads-up-Benachrichtigung angezeigt -> IMPORTANCE_HIGH
2) Hoch Erzeugt einen Ton -> IMPORTANCE_DEFAULT
3) Mittel Kein Ton -> IMPORTANCE_LOW
4) Niedrig Kein Ton und wird nicht in der Statusleiste angezeigt -> IMPORTANCE_MIN
gleich funktioniert in gleicher Reihenfolge Priorität (Android 7.1 und niedriger)
1) PRIORITY_HIGH oder PRIORITY_MAX
2) PRIORITY_DEFAULT
3) PRIORITY_LOW
4) PRIORITY_MIN
quelle
quelle
Rufen Sie diese Funktion auf, wo immer Sie wollen. das hat bei mir funktioniert
quelle
Mit der unten angegebenen Notification.builder-Klasseninstanz (Builder) können Sie bei Benachrichtigung den Standardton wiedergeben:
quelle
private ungültige Benachrichtigung () {
Es ist eine vollständige Benachrichtigung mit Ton und Vibrationen
quelle
Hängt nicht vom Builder oder der Benachrichtigung ab. Verwenden Sie benutzerdefinierten Code für Vibrationen.
quelle
Sie können Folgendes tun:
Sie erstellen ein Paket zwischen Ihren Ressourcen mit dem Namen raw und behalten dort Ihre Sounds bei, dann rufen Sie es einfach auf.
quelle
// Benachrichtigungs-Audio einstellen (Getestet bis Android 10)
quelle