点击通知操作

时间:2015-02-17 08:48:49

标签: android onclicklistener android-notifications

我只需在用户点击通知时更改变量。我在通知重定向到活动后尝试在活动中使用SharedPreferences,然后在下次需要时重新使用此变量,但我不知道它为什么不起作用。

有谁知道触发通知的onClick究竟在哪里?

我的通知定义如下:

protected Notification createNotification() {

    CharSequence title = "New notification";
    CharSequence content = "";

    Notification notification = new Notification(R.drawable.app_icon,
            title, System.currentTimeMillis());

    notification.flags = Notification.FLAG_AUTO_CANCEL;

    PendingIntent contentIntent = createPendingIntent();
    notification.setLatestEventInfo(this, title, content, contentIntent);
    return notification;
}

protected PendingIntent createPendingIntent() {
        Intent intent = new Intent(this, MainActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                intent, 0);
        return contentIntent;
    }

protected void showNotification() {
    try {
        mNM.notify(NOTIFICATION_ID, createNotification());
    } catch (Exception e) {

    }
}

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您在点击通知时使用PendingIntent,则可以打开活动,当通过意图打开该活动时,您可以将活动调用为方法。如果您首先将以下属性添加到AndroidManifest.xml

中的activity-tag中
android:launchMode="singleTop"

将此方法添加到您的活动中。在调用活动的意图时会触发此方法。这是

@Override
protected void onNewIntent(Intent intent) {
      super.onNewIntent(intent);
}

另一种解决方案是使用您自己的布局创建自定义通知,并在元素上使用onClickListeners