与this post类似,我获得了一项在后台工作的服务。服务启动时,我正在显示通知。通常,您可以确定用户单击通知时触发的通知的意图。然后大多数活动开始。
但是如何使用通知通知后台服务用户想要取消其操作?
答案 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()
即可。