Notification like whatsapp or sms app android

2020-07-13 08:36发布

I want to create a Notification view just like whatsapp or sms notification.How can i achieve that.

enter image description here

What I have search till now

Crouton : Can found here

this will show a crouton at running activity and below to the action bar. if my activity not running or i am on the other activity how can this handle.

Toast: this is not looking like a toast. It show only on bottom or center .

Dialog: this can be done like this but this will blur the application. and disable the background. And i don't want this

Any solution will appreciated.

Thanks

3条回答
我命由我不由天
2楼-- · 2020-07-13 09:09

It can be done via Headsup notification. It is feature of Andorid L so by code here is demo

Notification createNotification(boolean makeHeadsUpNotification) {
    Notification.Builder notificationBuilder = new Notification.Builder(this)
            .setSmallIcon(R.drawable.ic_launcher)
            .setPriority(Notification.PRIORITY_DEFAULT)
            .setContentTitle("Sample Notification")
            .setContentText("This is a normal notification.");

    if(Build.VERSION.SDK_INT> Build.VERSION_CODES.KITKAT)
    {
        notificationBuilder.setCategory(Notification.CATEGORY_MESSAGE);
    }
    if (makeHeadsUpNotification) {
        Intent push = new Intent();
        push.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        push.setClass(this, IndexActivity.class);

        PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(this, 0,
                push, PendingIntent.FLAG_CANCEL_CURRENT);
        notificationBuilder
                .setContentText("Heads-Up Notification on Android L or above.")
                .setFullScreenIntent(fullScreenPendingIntent, true);
    }
    return notificationBuilder.build();
}

you can call it like

 NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context
           .NOTIFICATION_SERVICE);
    mNotificationManager.notify(NOTIFICATION_ID, createNotification(
           true));
查看更多
\"骚年 ilove
3楼-- · 2020-07-13 09:10

what you are looking in the image above "heads up notificcation" (feature added after android 4.3)

link :heads up notification

set priority of notification as high so as to display it on screen head hope this helps

查看更多
淡お忘
4楼-- · 2020-07-13 09:22

it's a headsup notification works from android lollipop here you check how to show notification you can see here http://developer.android.com/guide/topics/ui/notifiers/notifications.html and for headsup you have to set notification priority as below

.setPriority(Notification.PRIORITY_HIGH)

hope it helps

EDIT Nov-17

Notification.PRIORITY_HIGH was deprecated in API level 26. use (NotificationManager.IMPORTANCE_HIGH) instead.

查看更多
登录 后发表回答