使用“忽略”按钮通知会打开“活动”

时间:2014-09-25 14:12:02

标签: android android-activity android-notifications android-pendingintent

我的应用程序中的通知在使用AlarmManager一段时间后被触发。 通知啊两个按钮,一个执行一些写入数据库,另一个是忽略按钮,它只是删除通知。但问题是,它打开了应用程序的活动,这不应该发生,为什么呢? 以下是如何设置通知

public static void sendNotification(Context context) {
    NotificationManager mNotifyManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
    mBuilder.setContentTitle("My LeApp")
            .setContentText("New event!")
            .setContentIntent(getPendingIntent(context, 0, ActivityStage2.class))
            .setSmallIcon(R.drawable.notif_icon)
            .addAction(R.drawable.notif_take, "Take", getPendingIntent(context, 1, Take.class))
            .addAction(R.drawable.notif_ignore, "Ignore", getPendingIntent(context, 2, Ignore.class))
            .setAutoCancel(true);
    mNotifyManager.notify(0, mBuilder.build());

这是忽略活动

public class Ignore extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (Context.NOTIFICATION_SERVICE != null) {
        NotificationManager nMgr = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
        nMgr.cancel(0);
    }
}

}

1 个答案:

答案 0 :(得分:1)

您正在关闭点击按钮上打开一个活动页面..

没有使用,但我可以给出一个建议来避免这种情况。

使用一个BroadcasrReceiver代替Activity并取消onReceive()内的通知..