0

我对 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());
}

问题是当应用程序在后台时,当用户点击通知应用程序启动通知详细信息活动时,当他按下应用程序时被杀死。

当应用程序在前台时,整个流程是正确的,detailsS​​creen,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);
4

0 回答 0