我的应用程序中有一个自定义通知栏,有2个按钮。我找到了一种方法,通过在我的通知类中使用contentView.setOnClickPendingIntent使按钮工作,然后在单独的活动中处理功能,但我有一个问题。这是Notification类中的代码。
//Handle the button for showing bookmarks on custom notification
Intent buttonsIntent2 = new Intent(context, NotificationBarButtonActivityHandler.class);
buttonsIntent2.putExtra(PENDING_ACTION, REGISTER_BOOKMARK);
contentView.setOnClickPendingIntent(R.id.notificationBarShowBookmarksButton, PendingIntent.getActivity(context, 0, buttonsIntent2, 0));
//Handle the button for adding bookmark on custom notification
Intent buttonsIntent = new Intent(context, NotificationBarButtonActivityHandler.class);
buttonsIntent.putExtra(PENDING_ACTION, SHOW_BOOKMARKS);
contentView.setOnClickPendingIntent(R.id.notificationBarAddBookmarkFromChromeButton, PendingIntent.getActivity(context, 0, buttonsIntent, 0));
问题在于,无论按哪个按钮,当我按下两个按钮时,按钮处理程序活动总是会收到REGISTER_BOOKMARK。
String action = (String) getIntent().getExtras().get(NotificationBarService.PENDING_ACTION);
有人可以向我解释为什么会这样吗?另外,这是处理通知栏中按钮按下的最佳方式吗?