自定义通知布局在Android 2.3或更低版本上不起作用

时间:2012-09-24 23:35:31

标签: android layout notifications

我使用NotificationCompat.Builder通过Android版本显示我的通知,并使用自定义布局进行通知 自定义布局在Android 3及更高版本(API级别11)上运行良好,但不会出现在API级别10或更低级别。我在模拟器中测试了2.3和2.2。

继承我的代码:

    Builder builder = new NotificationCompat.Builder(getApplicationContext());

    RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_layout);
    contentView.setImageViewResource(R.id.notImage, R.drawable.stat_icon);
    contentView.setTextViewText(R.id.notTitle, getResources().getString(R.string.streamPlaying));
    contentView.setTextViewText(R.id.notText, StartActivity.streamName + " " + getResources().getString(R.string.playing));

    builder
            .setContentTitle(getResources().getString(R.string.streamPlaying))
            .setContentText(StartActivity.streamName + " " + getResources().getString(R.string.playing))
            .setSmallIcon(R.drawable.stat_icon)
            .setContentIntent(pendingIntent)
            .setOngoing(true)
            .setWhen(0)
            .setTicker(StartActivity.streamName + " " + getResources().getString(R.string.playing))
            .setContent(contentView);

    not = builder.build();

非常基本。布局文件是正确的,它与android.com上的通知教程相同,以确保我没有在那里犯错误。 ;)
请记住:3.0及以上版本正常工作,但不是2.3及更低版本。

1 个答案:

答案 0 :(得分:38)

这可能是支持库中的错误 - 请参阅this issue

您可能需要直接应用contentView来解决这个问题:

not.contentView = contentView;