/ / Ist es möglich, die Benachrichtigungszeit in Android zu reduzieren? - Android, Android-Benachrichtigungen, Android-Benachrichtigungsleiste

Ist es möglich, die Benachrichtigungszeit in Android zu reduzieren? - Android, Android-Benachrichtigungen, Android-Benachrichtigungsleiste

Ich verwende den folgenden Code, um eine Benachrichtigung anzuzeigenmein Android-Handy. Ich möchte die Zeit reduzieren, die verwendet wird, um die Benachrichtigung anzuzeigen. Jetzt dauert es ungefähr 2 Sekunden, bis es angezeigt wird, dann ist es versteckt. Ich möchte die Zeit von 2 Sekunden auf 1 Sekunde verkürzen. Ist es möglich?

Notification notification = new NotificationCompat.Builder(context)
.setContentTitle(context.getString(R.string.app_name))
.setContentText("Notification")
.setAutoCancel(false)
.setPriority(Notification.PRIORITY_MAX)
.setSmallIcon(R.mipmap.ic_launcher)
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
.build();

NotificationManager notificationManager = getNotificationManager(context);
notificationManager.notify(SAFER_DISCONNECTED_NOTIFICATION_ID, notification);

Antworten:

2 für die Antwort № 1

Jetzt dauert es ungefähr 2 Sekunden, bis es angezeigt wird, dann ist es versteckt.

Es gibt keine besondere Garantie hinsichtlich der Zeit, die a Notification wird im Heads-Up-Modus angezeigt, von dem ich annehme, dass er sich auf dich bezieht.

Zum Beispiel wird es standardmäßig für 0 Sekunden auf Android 4.4 und früher angezeigt, was nativ keine Heads-Up-Benachrichtigungen unterstützt. Ein Benutzer könnte jedoch eine App mit einem installieren NotificationListenerServiceund dieser Dienst könnte die Benachrichtigung jedoch anzeigen, und wie lange auch immer.

Ist es möglich?

Nein Entschuldigung. Dies unterliegt der Kontrolle des Codes, der die Benachrichtigungen anzeigt.


0 für die Antwort № 2

Benachrichtigungen werden von Android angezeigt, und es gibt Keine Berechtigungen für Anwendungen zum Ändern der Benachrichtigungsvorschau in nicht gerooteten Geräten.

Wenn der Inhalt der Benachrichtigungen jedoch nicht wichtig ist, können Sie Benachrichtigungen nach einer Sekunde programmgesteuert abbrechen:

1- Erstellen Sie eine Zeit für Ihre Aufgabe nach einer Sekunde:

new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
runOnUiThread(new   Runnable() {
public void run() {
//your code for cancel notification(s)
}
});
}
},
1000);

2- Sie können eine Benachrichtigung abbrechen:

NotificationManager nMgr = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
nMgr.cancel(NOTIF_ID);

oder alle Benachrichtigungen im angegebenen Kontext abbrechen:

nMgr.cancelAll();