web-dev-qa-db-ja.com

Android Oの通知バッジ

Android Oreo SDKを使用してGoogleNexus 5xでテストしています。アプリから通知を受け取っても、ホーム画面のアプリアイコンに通知バッジが見つかりません。アプリのショートカットに番号が表示されません。以下はスニペットです。

 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

アプリのランチャーアイコンに表示される通知バッジ(ドット)の外観をカスタマイズすることはできません。ただし、アプリのランチャーアイコンを長押しすると、長押しメニューの一部の要素をカスタマイズできます。たとえば、試した.setNumber(5)がそこに表示されます。

詳細については、こちらを参照してください: 通知バッジ および 通知バッジの調整

.setBadgeIconType(R.mipmap.ic_launcher_round)を参照して、 this を読むことをお勧めします。


**[〜#〜]編集[〜#〜]**(誤解された質問)

Nexus 5Xエミュレーターでコードをテストしました(forループなし、mNotific.notify(ncode, n);を1回だけ呼び出します)。通知ドットが表示され、100%動作します。これはコード関連の問題ではありません。

Nexus 5X物理デバイスのネイティブランチャーアプリ(Google Now)は、デバイスのOreo設定で通知ドットを「オン」にできる場合でも、通知ドットをサポートしていません。 this および this リンクを参照してください。 Nexus 5X物理デバイスで通知ドットを有効にするには、次のようなカスタムPixelLauncherアプリをインストールする必要があります Rootless Pixel Launcher

1
Wess