如果setSmallIcon丢失,为什么Android通知不起作用?

时间:2015-12-28 06:38:48

标签: android android-studio android-notifications

我怀疑,如果代码中缺少setSmallIcon,则无法构建Notification:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
//  builder.setSmallIcon(R.drawable.ic_launcher);
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

        builder.setContentIntent(pendingIntent);
        builder.setContentTitle("Google");
        builder.setContentText("Go to Google");
        builder.setSubText("Tap to go to link in notifications.");

        NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notificationManager.notify(0, builder.build());

应用程序不会抛出任何异常,代码运行正常,但通知未显示,如果我取消注释

builder.setSmallIcon(R.drawable.ic_launcher);

应用程序通知正常工作,因此我的问题是为什么builder.setSmallIcon必须显示通知。 如果我不想在状态栏上显示任何解决方案?

1 个答案:

答案 0 :(得分:4)

这是因为.setSmallIcon(R.drawable.ic_launcher);这是预先要求。如果您使用的是NotificationCompat.Builder。我在Google Developers Blog中阅读了一些内容。