Android:解除通知的通知操作

时间:2013-06-01 06:23:23

标签: android notifications action

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

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

主要用途是持续通知,因为无法通过滑动删除这些通知。这个想法类似于具有'dismiss'动作的android日历。

2 个答案:

答案 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
    }
}