Walter West
Walter West

Reputation: 859

NotificationCompat android - how to show only Large icon without small

When I add notification:

        NotificationCompat.Builder mBuilder =
                            new NotificationCompat.Builder(this)  
              .setSmallIcon(R.drawable.plus)
.setContentTitle(title)
.setAutoCancel(true) 
.setContentText(text)
.setSound(RingtoneManager .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setLargeIcon(bm);

I see large icon and small in it: enter image description here

How can I set only large Icon, without small. If use only setLargeIcon, I don't see notification at all, just sound alert.

Upvotes: 12

Views: 13903

Answers (5)

Deepak Vishwakarma
Deepak Vishwakarma

Reputation: 1

public class MainActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Notification notification = new NotificationCompat.Builder(this)
            .setContentTitle("Test")
            .setContentText("Hii There")
            .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.smallicon))
            .setAutoCancel(true)
            .build();
    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
    notificationManager.notify(123, notification);
  }
}

Upvotes: -1

ShahinFasihi
ShahinFasihi

Reputation: 624

get the small icon id and then try to hide it

int smallIconId = ctx.getResources().getIdentifier("right_icon", "id", android.R.class.getPackage().getName());
if (smallIconId != 0) { 
    if (notification.contentView!=null)
        notification.contentView.setViewVisibility(smallIconId, View.INVISIBLE);
}

try looking at this post it will help too

i test the code on api 18,23 (samsung j1,galaxy S6) work fine

Upvotes: 9

EZDsIt
EZDsIt

Reputation: 931

You can create a custom notification and then show whatever you want in the large notification area. See and example here TutorialsFace: Build all types of Notifications in Android

Upvotes: 0

awsleiman
awsleiman

Reputation: 1909

Based on the previous answer you can also hide the expended view too :

int smallIconId = AnghamiApp.getContext().getResources().getIdentifier("right_icon", "id", android.R.class.getPackage().getName());
            if (smallIconId != 0) {
                notification.contentView.setViewVisibility(smallIconId, View.INVISIBLE);
                notification.bigContentView.setViewVisibility(smallIconId, View.INVISIBLE);
            }

Upvotes: 2

Xavier Falempin
Xavier Falempin

Reputation: 1206

Small icon is mandatory. If you don't set a large one you'll get your small icon bigger in the middle of the circle with the color of your choice (setColor).

If i were you i'd put that blank E on a transparent background for smallicon, and set a red color for the circle.

Upvotes: 17

Related Questions