默认情况下如何使应用通知下拉

时间:2018-09-10 07:57:16

标签: android android-notifications android-notification-bar

我的问题是,当我在应用程序中收到任何通知时,通知图标显示在顶部栏中,如下图所示。在标记的区域中,您可以看到我已收到通知图标,因此要查看应用程序的通知,我必须向下拖动屏幕,但是在许多应用程序中,我已经看到,如果用户使用的是移动设备,并且无论何时从任何应用程序收到通知,在连接到手机顶部的手机屏幕顶部会显示一个小弹出窗口。我也希望在我的应用的通知中使用同样的方法

现在,我希望每当收到通知时,默认情况下都应将其显示在屏幕顶部,而不是仅在顶部显示图标,这样我自己不必从顶部拖动屏幕即可查看新通知{ {3}}

我的生成通知代码如下

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;
            }

0 个答案:

没有答案