点击通知不会启动特定 Activity 我的代码
NotificationManager mNotifyMgr = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
int notificationId = (int) System.currentTimeMillis();
Intent picukUpIntent = new Intent(context, MainScreenActivity.class);
picukUpIntent.putExtra(MainScreenActivity.ORDER_ID, orderId);
picukUpIntent.putExtra(NOTI_TYPE, 3);
pendingIntent =
PendingIntent.getActivity(
context,
notificationId,
picukUpIntent,
PendingIntent.FLAG_ONE_SHOT
);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_mini_logo)
.setContentTitle("Title")
.setContentText(message)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setAutoCancel(true);
builder.setContentIntent(pendingIntent);
mNotifyMgr.notify(notificationId, builder.build());
如您所见,我尝试在用户单击通知时打开 MainScreenActivity Activity ,但单击时它不会启动 MainScreenActivity。如果我用其他 Activity 替换 MainScreenActivity 那么它就可以正常工作。
请注意,我已经尝试了很多解决方案。 在 list 中的 Activity 标记中添加 android:exported="true" 将标志更改为 PendingIntent.FLAG_CANCEL_CURRENT
如果我尝试开始其他 Activity ,那么它就会起作用。仅当我尝试专门启动 MainScreenActivity 时才会出现此问题
最佳答案
替换此代码
pendingIntent = PendingIntent.getActivity(
context,
notificationId,
picukUpIntent,
PendingIntent.FLAG_ONE_SHOT);
至
pendingIntent = PendingIntent.getActivity(
context,
notificationId,
picukUpIntent,
PendingIntent.FLAG_UPDATE_CURRENT
| PendingIntent.FLAG_ONE_SHOT);
关于java - 单击通知不启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45705941/