你好我有以下功能在我的应用程序中显示通知,但是我突然开始遇到一个问题,当我点击通知时它不会将我带到我在.setContentIntent()中指定的活动,这是我的代码:
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
private void getNotifications() {
ArrayList<com.xxxxxx.app234929.models.Notification> notifications = mNotificationsTable.get();
int requestId = (int) System.currentTimeMillis();
Intent notificationsIntent = new Intent(getApplicationContext(), NotificationsActivity.class);
notificationsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(getApplicationContext(), requestId,
notificationsIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.InboxStyle inbox = new NotificationCompat.InboxStyle(new NotificationCompat.Builder(getApplicationContext())
.setSmallIcon(R.drawable.ic_stat_mtgh_notification)
.setColor(getResources().getColor(R.color.colorPrimary))
.setContentTitle("xxxxxx")
.setContentText("You have "+(notifications.size() > 1 ? "new updates" :"a new update"))
.setNumber(notifications.size())
.setContentIntent(intent)
.setDefaults(Notification.DEFAULT_VIBRATE |
Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS))
.setBigContentTitle("xxxxxx");
for (int i=0; i < notifications.size(); i++) {
inbox.addLine(notifications.get(i).getMessage());
};
Notification notification = inbox.build();
NotificationManager notificationManager = (NotificationManager) getApplicationContext()
.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, notification);
}
我已经搜索了很多解决方案并尝试了它们,但它们都没有为我工作所以现在我不知道我在这里做错了什么。
答案 0 :(得分:0)
这是我使用的代码并且工作正常,我在服务上使用它,但您可以在任何活动中使用:
Intent myIntent = new Intent(MyActivity.this, ActivityIWantToOpenOnClick.class);
PendingIntent pendingIntent = PendingIntent.getActivity(MyActivity.this, 0, myIntent, Intent.FLAG_ACTIVITY_NEW_TASK);
NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder ncomp = new NotificationCompat.Builder(MyActivity.this);
ncomp.setContentTitle("Message Tittle");
ncomp.setContentText("Message Text");
ncomp.setTicker("Message Ticker");
ncomp.setSmallIcon(R.drawable.your_icon);
ncomp.setAutoCancel(true);
ncomp.setContentIntent(pendingIntent);
nManager.notify((int) System.currentTimeMillis(), ncomp.build());