用户单击“通知”时取消服务

时间:2014-06-27 09:52:26

标签: android android-intent android-service android-notifications

this post类似,我获得了一项在后台工作的服务。服务启动时,我正在显示通知。通常,您可以确定用户单击通知时触发的通知的意图。然后大多数活动开始。

但是如何使用通知通知后台服务用户想要取消其操作?

1 个答案:

答案 0 :(得分:1)

您可以使用BroadcastReceiver来停止通过通知的PendingIntent触发的服务。

查看PendingIntent.getBroadcast(...)并使用它代替PendingIntent.getActivity()方法。您可以像这样使用它:

  Intent broadcastIntent = new Intent(context, YourBroadcastReceiver.class);      
  PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, broadcastIntent, 0);
  Notification noti = new Notification.Builder(this)
         ...
         .setContent(pendingIntent);
         .build();

  notification.setContent(pendingIntent);

BroadcastReceiver可以是您服务中的内部类,只需在stopService()方法中调用onReceive()即可。