我对 taskstackbuilder 有疑问,这是我的代码:
private void showNotification(Context context,
String title,
String body){
Intent notificationDetailsIntent = new Intent(this, NotificationDetailsActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addNextIntentWithParentStack(notificationDetailsIntent);
PendingIntent pendingIntent = stackBuilder
.getPendingIntent(32, PendingIntent.FLAG_UPDATE_CURRENT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(context, "1")
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(title)
.setContentText(body)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// Since android Oreo notification channel is needed.
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel("1",
"New data",
NotificationManager.IMPORTANCE_DEFAULT);
channel.setShowBadge(true);
notificationManager.createNotificationChannel(channel);
}
notificationManager.notify(new Random().nextInt() /* ID of notification */, notificationBuilder.build());
}
问题是当应用程序在后台时,当用户点击通知应用程序启动通知详细信息活动时,当他按下应用程序时被杀死。
当应用程序在前台时,整个流程是正确的,detailsScreen,listScreen,homeScreen。我正在尝试打开详细信息屏幕,onbackpress listScreen,再次 onbackpress homeScreen
<activity android:name=".activities.NotificationDetailsActivity"
android:configChanges="orientation"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustPan|adjustResize"
android:screenOrientation="portrait"
android:parentActivityName=".activities.NotificationsActivity"
android:theme="@style/AppTheme">
</activity>
<activity android:name=".activities.NotificationsActivity"
android:configChanges="orientation"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustPan|adjustResize"
android:parentActivityName=".activities.HomeActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
</activity>
我已经尝试重新安装应用程序,没有任何反应,也
stackBuilder.addParentStack(NotificationDetailsActivity.class);
stackBuilder.addNextIntent(homeIntent);
stackBuilder.addNextIntent(notificationDetailsIntent);