我正在尝试使用操作按钮创建Android通知。我已经设置了一个启动活动,但我希望另一个启动活动,并且不会将用户带到另一个屏幕/活动(不会被带到我的应用程序的任何部分)
我不想使用'.auto cancel(true)',因为除非按下此操作按钮,否则我希望保留通知。
主要用途是持续通知,因为无法通过滑动删除这些通知。这个想法类似于具有'dismiss'动作的android日历。
答案 0 :(得分:3)
创建通知后,将通知发送给广播接收者。广播接收器是在按下通知动作时启动的,因此广播接收器中的cancel()取消通知。
答案 1 :(得分:1)
IMO使用broadcastReceiver是一种更清晰的取消通知方式:
在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];
NotificationCancelReceiver:
public class NotificationCancelReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//Cancel your ongoing Notification
}
}