我的应用程序有通知,显然 - 没有任何标志,每次都启动一个新活动,所以我得到多个相同的活动在彼此之上运行,这是错误的。
我想要它做的是将通知待处理意图中指定的活动带到前面,如果它已经在运行,否则启动它。
到目前为止,我拥有的该通知的意图/待定意图是
private static PendingIntent prepareIntent(Context context) {
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
奇怪的是,它有时有效,有时无效……我觉得我已经尝试过每一种标志组合。