2013-12-13 3 views
0

Я разрабатываю приложение, которое загружает что-то данные с сервера и делает уведомления каждый раз, когда эти данные успешно загружаются. Но также мне нужно отправить статистику, когда пользователь открыл уведомление или удалил его. Это просто отправить, если пользователь открыл уведомление - просто добавьте логический ключ в намерение, а в действии просто выполните «отправить» код с помощью этого ключа. Но как насчет действия другого пользователя - удалите уведомление. Здесь идет моя проблема - я не могу создать никаких намерений, потому что никакое действие не будет создано этим действием, как я могу узнать, когда пользователь удалил уведомление?Как узнать, когда пользователь удалил уведомление

ответ

1

Заканчивать этот пример:

Intent deleteIntent = new Intent(context, SomeActivity.class); 
PendingIntent pendingDialog = PendingIntent.getActivity(context, 0, deleteIntent, 
       PendingIntent.FLAG_UPDATE_CURRENT); 

Notification notification = new NotificationCompat.Builder(context) 
    .setContentTitle(context.getString(R.string.title)) 
    .setContentText(context.getString(R.string.content)) 
    .setSmallIcon(R.drawable.image) 
    .setContentIntent(clickIntent) // executed if clicked 
    .setDeleteIntent(deleteIntent) // executed if deleted 
    .addAction(R.drawable.action_image, // adds a button 
      context.getString(R.string.do_it), actionIntent); 

В ожидании намерения также может быть Broadcasts, а также (проверить documentation).

Cheers!

+0

спасибо, теперь у меня есть это полностью - у меня есть служба, и я просто добавлю в нее широковещательный приемник, когда я назову свой код «отправить» – whizzzkey

1

Как я могу узнать, когда пользователь удалил уведомление?

setDeleteIntent() on your Notification.Builder.

+0

Извините меня за мою глупость, вы можете мне привести пример? Я не получил - куда я должен отправить это намерение? К моей деятельности? но я не хочу показывать какую-либо аквитацию после этого, когда пользователь удалил уведомление. Я просто хочу выполнить код «send statistics» в моем Helper.class – whizzzkey

+0

@whizzzkey: «PendingIntent» может начать действие, отправить команду службе или отправить широковещательную передачу. В вашем случае, если «отправка статистики» связана с диском или сетевым вводом-выводом, отправка команды в «IntentService», которая будет «отправлять статистику», представляется вероятным кандидатом. – CommonsWare

Смежные вопросы