как сделать уведомление приложения выпадающим по умолчанию - PullRequest
0 голосов
/ 10 сентября 2018

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

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

мой код для уведомления о генерации выглядит следующим образом

case GCM_NOTIFY_VIDEO_COMMENT: {

                if (App.getInstance().getId() != 0 && Long.toString(App.getInstance().getId()).equals(accountId)) {
                    callNotificationBadge(context);
                    App.getInstance().setNotificationsCount(App.getInstance().getNotificationsCount() + 1);

                    message = context.getString(R.string.label_gcm_comment);

                    NotificationCompat.Builder mBuilder =
                            new NotificationCompat.Builder(context)
                                    .setSmallIcon(R.mipmap.ic_launcher)
                                    .setContentTitle(title)
                                    .setContentText(message);

                    Intent resultIntent = new Intent(context, NotificationsActivity.class);
                    resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);


                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                        showNotificationForOreo(context,title,message,resultIntent,CHANNEL_social_ID,CHANNEL_social_Name);
                        break;
                    }

                    TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
                    stackBuilder.addParentStack(NotificationsActivity.class);
                    stackBuilder.addNextIntent(resultIntent);
                    PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
                    mBuilder.setContentIntent(resultPendingIntent);
                    NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                    mBuilder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
                    mBuilder.setAutoCancel(true);
                    mNotificationManager.notify(0, mBuilder.build());
                }

                break;
            }
...