0

我想从服务创建通知。这是我的代码:

    private void showNotification(String text) {
    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, PocketSaverActivity.class), 0);
    Notification.Builder builder = new Notification.Builder(this).setContentTitle("the title").setContentText(text)
            .setContentIntent(contentIntent).setSmallIcon(R.drawable.ic_launcher).setAutoCancel(true);

    Notification notification = builder.getNotification();
    notificationManager.notify(R.drawable.ic_launcher, notification);
}

但是这段代码给我一个警告04-08 20:25:49.030: W/NotificationManager(1670): notify: id corrupted: sent 12345, got back 0 并且没有显示。我不知道是什么问题。有人可以帮忙吗?

4

1 回答 1

2

在这一行:

Notification.Builder builder = new Notification.Builder(this)
    .setContentTitle("the title")
    .setContentText(text)
    .setContentIntent(contentIntent)
    .setSmallIcon(R.drawable.ic_launcher)
    .setAutoCancel(true);

您需要添加.build()到最后,如下所示:

Notification notification = new Notification.Builder(this)
    .setContentTitle("the title")
    .setContentText(text)
    .setContentIntent(contentIntent)
    .setSmallIcon(R.drawable.ic_launcher)
    .setAutoCancel(true)
    .build();

此外,Notification notification = builder.getNotification();没有必要,只需使用链接的、内置的通知。

您可以在文档中看到更通用的示例

于 2013-04-08T17:41:13.843 回答