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 に答える