it-swarm.com.de

Benachrichtigungsabzeichen in Android O

Ich teste mit Google Nexus 5x mit Android Oreo SDK.Ich kann keine Benachrichtigungsabzeichen in App-Symbol in Homescreen finden. Ich erhielt sogar eine Benachrichtigung von App.

 final NotificationManager mNotific=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

            CharSequence name="Ragav";
            String desc="this is notific";
            int imp=NotificationManager.IMPORTANCE_HIGH;
            final String ChannelID="my_channel_01";

            NotificationChannel mChannel=new NotificationChannel(ChannelID,name,imp);
            mChannel.setDescription(desc);
            mChannel.setLightColor(Color.CYAN);
            mChannel.canShowBadge();
            mChannel.setShowBadge(true);

            mNotific.createNotificationChannel(mChannel);

            final int ncode=1;

            String Body="This is testing notific";
            final Notification n= new Notification.Builder(getApplicationContext(),ChannelID)
                    .setContentTitle(getPackageName())
                    .setContentText(Body)
                    .setNumber(5)
                    .setBadgeIconType(R.mipmap.ic_launcher_round)
                    .setSmallIcon(R.mipmap.ic_launcher_round)
                    .setAutoCancel(true).build();

            for(int i=0;i<25;i++) {
                Thread.sleep(1000);
                mNotific.notify(ncode, n);
            }
6
Ragavendra M

Sie können das Erscheinungsbild von Benachrichtigungsplaketten (Punkten), die auf dem Startsymbol Ihrer App angezeigt werden, nicht anpassen. Sie können jedoch einige Elemente des Menüs mit langem Druck anpassen, wenn Sie das Startsymbol Ihrer App gedrückt halten. Die .setNumber(5), die Sie versucht haben, wird dort beispielsweise angezeigt.

Weitere Informationen finden Sie hier: Benachrichtigungszeichen und Benachrichtigungszeichen anpassen .

In Bezug auf .setBadgeIconType(R.mipmap.ic_launcher_round) würde ich vorschlagen, dass Sie this lesen.


** EDIT ** (missverstandene Frage)

Ich habe Ihren Code (ohne for-Schleife, den Aufruf von mNotific.notify(ncode, n); nur einmal) auf einem Nexus 5X-Emulator getestet und funktioniert zu 100% mit angezeigten Benachrichtigungspunkten. Dies ist kein Codeproblem.

Die native Launcher-App des physischen Nexus 5X-Geräts (Google Now) unterstützt keine Benachrichtigungspunkte, obwohl Sie Benachrichtigungspunkte in den Oreo-Einstellungen auf dem Gerät aktivieren können. Siehe diese und diese Verknüpfung. Um Benachrichtigungspunkte auf einem physischen Nexus 5X-Gerät zu aktivieren, müssen Sie eine benutzerdefinierte Pixel Launcher-App wie diese Rootless Pixel Launcher installieren.

1
Wess