如何在android中显示通知顶部屏幕?

如何在android中显示通知顶部屏幕?,android,Android,我写这段代码是为了在android中显示通知。但此通知仅显示在状态栏中。我希望收到的消息在顶部屏幕上显示通知,如电报应用程序: 我的代码: NotificationManager mNotifyManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); String offerChannelId = "offerChannelId"; if (Build.VERS

我写这段代码是为了在android中显示通知。但此通知仅显示在状态栏中。我希望收到的消息在顶部屏幕上显示通知,如电报应用程序:

我的代码:

        NotificationManager mNotifyManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        String offerChannelId = "offerChannelId";
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            String offerChannelName = "offerChannelName";
            String offerChannelDescription = "offerChannelDescription";
            int offerChannelImportance = NotificationManager.IMPORTANCE_HIGH;
            @SuppressLint("WrongConstant") NotificationChannel notifChannel = new NotificationChannel(offerChannelId, offerChannelName, offerChannelImportance);
            notifChannel.setDescription(offerChannelDescription);
            mNotifyManager.createNotificationChannel(notifChannel);
        }

        NotificationCompat.Builder sNotifBuilder = new NotificationCompat.Builder(getBaseContext(), offerChannelId);
        sNotifBuilder.setSmallIcon(R.drawable.ic_notifications)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_notifications))
                .setColor(getResources().getColor(R.color.baseColor_yellow))
                .setContentTitle("title")
                .setDefaults(NotificationCompat.DEFAULT_ALL)
                .setPriority(Notification.PRIORITY_MAX);
        mNotifyManager.notify(1, sNotifBuilder.build());
我怎么做? Min是21岁。
提前谢谢。

我为您找到了解决方案。希望它能帮助你

//build notification
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("Ping Notification")
.setContentText("Tomorrow will be your birthday.")
.setDefaults(Notification.DEFAULT_ALL) // must requires VIBRATE permission
.setPriority(NotificationCompat.PRIORITY_HIGH) //must give priority to High, Max which will considered as heads-up notification
.addAction(R.drawable.dismiss, getString(R.string.dismiss), piDismiss)
.addAction(R.drawable.snooze, getString(R.string.snooze), piSnooze);

//set intents and pending intents to call service on click of "dismiss" action button of notification
Intent dismissIntent = new Intent(this, MyService.class);
dismissIntent.setAction(ACTION_DISMISS);
PendingIntent piDismiss = PendingIntent.getService(this, 0, dismissIntent, 0);

//set intents and pending intents to call service on click of "snooze" action button of notification
Intent snoozeIntent = new Intent(this, MyService.class);
snoozeIntent.setAction(ACTION_SNOOZE);
PendingIntent piSnooze = PendingIntent.getService(this, 0, snoozeIntent, 0);

// Gets an instance of the NotificationManager service
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
/* Notification for oreo*/
            String channelId = "channel-01";
            String channelName = "Demo";
            int importance = NotificationManager.IMPORTANCE_HIGH;

            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
                NotificationChannel mChannel = new NotificationChannel(
                        channelId, channelName, importance);
                notificationManager.createNotificationChannel(mChannel);
            }
//to post your notification to the notification bar with a id. If a notification with same id already exists, it will get replaced with updated information.
notificationManager.notify(0, builder.build());

最小的SDK是Lolipop。

我为您找到了一个解决方案。希望它能帮助你

//build notification
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("Ping Notification")
.setContentText("Tomorrow will be your birthday.")
.setDefaults(Notification.DEFAULT_ALL) // must requires VIBRATE permission
.setPriority(NotificationCompat.PRIORITY_HIGH) //must give priority to High, Max which will considered as heads-up notification
.addAction(R.drawable.dismiss, getString(R.string.dismiss), piDismiss)
.addAction(R.drawable.snooze, getString(R.string.snooze), piSnooze);

//set intents and pending intents to call service on click of "dismiss" action button of notification
Intent dismissIntent = new Intent(this, MyService.class);
dismissIntent.setAction(ACTION_DISMISS);
PendingIntent piDismiss = PendingIntent.getService(this, 0, dismissIntent, 0);

//set intents and pending intents to call service on click of "snooze" action button of notification
Intent snoozeIntent = new Intent(this, MyService.class);
snoozeIntent.setAction(ACTION_SNOOZE);
PendingIntent piSnooze = PendingIntent.getService(this, 0, snoozeIntent, 0);

// Gets an instance of the NotificationManager service
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
/* Notification for oreo*/
            String channelId = "channel-01";
            String channelName = "Demo";
            int importance = NotificationManager.IMPORTANCE_HIGH;

            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
                NotificationChannel mChannel = new NotificationChannel(
                        channelId, channelName, importance);
                notificationManager.createNotificationChannel(mChannel);
            }
//to post your notification to the notification bar with a id. If a notification with same id already exists, it will get replaced with updated information.
notificationManager.notify(0, builder.build());

最起码的SDK是Lolipop。

接受我的道歉。我无法表达我的意思。我想在收到一条消息时,在顶部屏幕上像电报一样显示通知。(为了理解我的意思,在帖子中添加了一个图片)这就是所谓的正面通知。搜索创建提示通知。您也可以检查此SO帖子。接受我的道歉。我无法表达我的意思。我想在收到一条消息时,在顶部屏幕上像电报一样显示通知。(为了理解我的意思,在帖子中添加了一个图片)这就是所谓的正面通知。搜索创建提示通知。您也可以检查此SO帖子。这回答了你的问题吗?这回答了你的问题吗?