Как установить номер уведомления на значке приложения нажатием кнопки? - PullRequest
0 голосов
/ 07 января 2019

Я хочу установить номер уведомления на значке приложения нажатием кнопки. Я пытался понять и следовать нескольким методам, но ни один из них не помог.

Я могу отправлять уведомления, просто используя канал, но я также хочу установить номера уведомлений на значке приложения.

Здесь, под моим кодом:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button Gn = (Button) findViewById(R.id.gn);

        Gn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                shownotifications();
            }
        });
    }

    private void shownotifications() {
        //channel
        String id = "main_channel";
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            CharSequence name = "Channel Name";
            String description = "Channel Description";
            int importance = NotificationManager.IMPORTANCE_HIGH;
            NotificationChannel notificationChannel = new NotificationChannel(id, name, importance);
            notificationChannel.setDescription(description);
            notificationChannel.enableLights(true);
            notificationChannel.setLightColor(Color.WHITE);
            notificationChannel.enableVibration(false);

            if (notificationManager != null) {
                notificationManager.createNotificationChannel(notificationChannel);
            }
        }

        //notifications
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, id)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.icon))
                .setContentTitle("Notification Title")
                .setContentText("This is the description of this notification......")
                .setLights(Color.WHITE, 500, 5000)
                .setColor(Color.RED)
                .setDefaults(Notification.DEFAULT_SOUND);

        Intent nI = new Intent(this, MainActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, nI, PendingIntent.FLAG_UPDATE_CURRENT);
        notificationBuilder.setContentIntent(contentIntent);

        NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
        notificationManagerCompat.notify(1000, notificationBuilder.build());
    }
}

Ответы [ 2 ]

0 голосов
/ 07 января 2019

используйте эту ссылку https://github.com/leolin310148/ShortcutBadger установить счетчик при нажатии кнопки всякий раз, когда вы хотите обновить счетчик пользователя, предыдущий счет увеличен

0 голосов
/ 07 января 2019

Вы можете сделать это, изменяя значок своего приложения каждый раз, когда хотите обновить номер уведомления.

Попробуйте это.

...