后退按钮不起作用 - TaskStackBuilder和AlarmManager通知

时间:2016-10-13 18:03:45

标签: android notifications alarmmanager taskstackbuilder

我想保留导航顺序,所以我遵循了这个:

https://developer.android.com/guide/topics/ui/notifiers/notifications.html#NotificationResponse

和此:

Android - Build a notification, TaskStackBuilder.addParentStack not working

单击通知后,将打开ResultActivity,如果用户单击“返回”,则会显示MainActivity。

当我单击后退时,它会关闭应用程序并返回主屏幕而不是打开MainActivity。但是,当我重新打开它时,它已经开始使用MainActivity。这是我的代码:

清单:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver android:name=".AlarmReceiver" />

        <activity
            android:name=".ResultActivity"
            android:parentActivityName=".MainActivity">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity"/>
        </activity>
    </application>

AlarmReceiver中的OnReceive

        builder.setContentTitle("sth");
        builder.setContentText("sth");

        TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);

        // Back button
        stackBuilder.addParentStack(ResultActivity.class);
        // The desired activity when clicking notifications
        stackBuilder.addNextIntent(new Intent(context, ResultActivity.class));

        // Create Pending Intent
        PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
        builder.setContentIntent(pendingIntent);

        // Finally a manager
        NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(0, builder.build());

如何解决这个问题?谢谢!

0 个答案:

没有答案