5

我正在尝试使用操作按钮创建一个 android 通知。我已经设置了一个启动活动,但我想要另一个关闭通知并且不将用户带到另一个屏幕/活动(未带到我的应用程序的任何部分)

我不想使用 '.auto cancel(true) ',因为我希望保留通知,除非按下此操作按钮。

主要用途是持续通知,因为它们无法通过滑动删除。这个想法类似于带有“解雇”动作的 android 日历。

4

2 回答 2

2

创建通知后,将通知发送到广播接收器。广播接收器是在按下通知操作时启动的,因此广播接收器中的 cancel() 会取消通知。

于 2013-06-14T19:47:32.797 回答
2

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
    }
}
于 2015-08-02T14:30:28.097 回答