Как добавить флаги в уведомление (уведомление в строке состояния)? - PullRequest
4 голосов
/ 20 октября 2010

я следую учебному пособию из руководства разработчика, но у меня возникла проблема ...

учебник говорит: «Чтобы очистить уведомление в строке состояния, когда пользователь выбирает его в окне уведомлений, добавьте флаг« FLAG_AUTO_CANCEL »на ваш объект уведомления "

, но ... как я могу добавить флаг к моему уведомлению?

уведомление не имеет какой-либо функции для добавления флагов .... тогда?как я могу это сделать?

Ответы [ 3 ]

16 голосов
/ 09 января 2011

Флаги уведомлений - открытое поле участника.

Notification notif = new Notification(R.drawable.icon, shortMsg,
                System.currentTimeMillis());
notif.flags |= Notification.FLAG_AUTO_CANCEL;
2 голосов
/ 20 октября 2010

Флаги заканчиваются, когда вы определяете намерение, например:

PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, notifyIntent, Notification.FLAG_AUTO_CANCEL);
0 голосов
/ 06 июля 2018

Ниже приведен код, который вы можете попробовать, он работает.

public void notification(Context context,String title, String text) {
    Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder builder =
        new NotificationCompat.Builder(context)
        .setAutoCancel(true)
        .setSound(alarmSound)
        .setSmallIcon(R.drawable.appicon)
        .setContentTitle(title)
        .setContentText(text);

    Intent notificationIntent = new Intent(this,gps_get_data.class);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent contentIntent = PendingIntent.getActivity(context,0,notificationIntent,                                           PendingIntent.FLAG_UPDATE_CURRENT);
    builder.setContentIntent(contentIntent);

    // Add as notification
    NotificationManager manager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
    manager.notify(0, builder.build());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...