简体   繁体   中英

Notification like whatsapp or sms app android

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

在此处输入图片说明

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

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.

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM