我只需在用户点击通知时更改变量。我在通知重定向到活动后尝试在活动中使用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) {
}
}
谢谢。
答案 0 :(得分:0)
如果您在点击通知时使用PendingIntent
,则可以打开活动,当通过意图打开该活动时,您可以将活动调用为方法。如果您首先将以下属性添加到AndroidManifest.xml
。
android:launchMode="singleTop"
将此方法添加到您的活动中。在调用活动的意图时会触发此方法。这是
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
另一种解决方案是使用您自己的布局创建自定义通知,并在元素上使用onClickListeners
。