0

以下のコードを使用して、アプリケーションで通知を生成しています

@Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mContext = MainActivity.this;

        notifManager = (NotificationManager) mContext.getSystemService(mContext.NOTIFICATION_SERVICE);

        mNotification = new NotificationCompat2.Builder(mContext).setSmallIcon(android.R.drawable.sym_def_app_icon)
                .setTicker("Launch download").setContentTitle("Downloader").setContentText(content)
                .setContentIntent(getPendingIntent());

        mNotification.setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
        mNotification.setAutoCancel(true); 
        notifManager.notify(UPDATE_PROGRESS, mNotification.build());


    }

    private PendingIntent getPendingIntent() {

        Intent i = new Intent(mContext, NotificationReceiver.class);
        //i.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
        return PendingIntent.getActivity(mContext, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
    }

注:-私はJakeWhartonによるNotificationCompat2を使用しています。

これで、このコードは正常に機能しますが、新しい通知が到着すると、ユーザーが読み取らなくても古い通知が却下されます。

私の質問

ユーザーが読まなくなるまで、ステータススライディングドロワーにすべての通知を表示するにはどうすればよいですか?

4

1 に答える 1

5

IDが同じ場合、通知は別の通知に置き換えられます。でIDを変更します

notifManager.notify(id, mNotification.build());

いくつかの通知を表示します。

于 2012-10-24T19:12:52.497 に答える