11

通知して通知バーに表示する関数を作成しました。

private void showNotification()
    {
            CharSequence title = "Hello";
            CharSequence message = "Notification Demo";

            NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
            Notification notification = new Notification(R.drawable.icon, "A Notification", System.currentTimeMillis());
            Intent notificationIntent = new Intent(this, Main_Activity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

            notification.setLatestEventInfo(Main_Activity.this, title, message, pendingIntent);
            notificationManager.notify(NOTIFICATION_ID, notification);
    }

正常に動作していますが、what way we can keep the notification steady at Notification barユーザーが通知バーの「通知をクリア」ボタンを押した場合でも?

「Yahoo」アプリの通知バーをご覧ください。

ここに画像の説明を入力してください

このSDKの記事(http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating)を確認しましたが、見つかりませんでした。

4

2 に答える 2

26

使用するFLAG_NO_CLEAR

Notificationに提供する前に、インスタンスに設定するだけです。NotificationManager

notificaton.flags |= Notification.FLAG_NO_CLEAR;

編集:(Notification.Builderハニカム以降)を使用して通知を「継続中」にすると、「すべてクリア」の影響を受けなくなることに気づきました。ここを参照してください。

FLAG_NO_CLEARどうやら、これはユーザーを混乱させる可能性があるため、開発者が継続的でない通知でを使用することを思いとどまらせることになっています。

于 2011-03-17T12:10:27.087 に答える
14

setOngoing(true)を試してください 。

notification = new Notification.Builder(getApplicationContext())
          .setLargeIcon(
                   BitmapFactory.decodeResource(getResources(),     R.drawable.ic_launcher))
          .setSmallIcon(R.drawable.ic_launcher).setTicker(tickerText)
          .setWhen(System.currentTimeMillis()).setContentTitle(contentTitle)
          .setOngoing(true)
          .setContentText(contentText)
          .setContentIntent(contentIntent)
于 2013-08-11T05:53:54.430 に答える