我正在尝试使用操作按钮创建一个 android 通知。我已经设置了一个启动活动,但我想要另一个关闭通知并且不将用户带到另一个屏幕/活动(未带到我的应用程序的任何部分)
我不想使用 '.auto cancel(true) ',因为我希望保留通知,除非按下此操作按钮。
主要用途是持续通知,因为它们无法通过滑动删除。这个想法类似于带有“解雇”动作的 android 日历。
我正在尝试使用操作按钮创建一个 android 通知。我已经设置了一个启动活动,但我想要另一个关闭通知并且不将用户带到另一个屏幕/活动(未带到我的应用程序的任何部分)
我不想使用 '.auto cancel(true) ',因为我希望保留通知,除非按下此操作按钮。
主要用途是持续通知,因为它们无法通过滑动删除。这个想法类似于带有“解雇”动作的 android 日历。
创建通知后,将通知发送到广播接收器。广播接收器是在按下通知操作时启动的,因此广播接收器中的 cancel() 会取消通知。
IMO 使用广播接收器是取消通知的一种更简洁的方法:
在 AndroidManifest.xml 中:
<receiver
android:name=.NotificationCancelReceiver" >
<intent-filter android:priority="999" >
<action android:name="com.example.cancel" />
</intent-filter>
</receiver>
在 java 文件中
Intent cancel = new Intent("com.example.cancel");
PendingIntent cancelP = PendingIntent.getBroadcast(context, 0, cancel, PendingIntent.FLAG_CANCEL_CURRENT);
NotificationCompat.Action actions[] = new NotificationCompat.Action[1];
通知取消接收器:
public class NotificationCancelReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//Cancel your ongoing Notification
}
}