【发布时间】:2018-05-17 20:32:58
【问题描述】:
我正在从通知抽屉中的通知开始一项活动——谁有一个父活动。子活动启用了向上导航。我希望子活动在单击向上导航按钮时返回到父活动。此行为适用于正常的应用程序流程。但是,当用户通过通知进入子Activity时,点击向上导航按钮并不会将用户带到父Activity;相反,它会结束应用程序。
这是单击通知时应启动的活动的清单。它有一个父 TabbedActivity
<activity
android:name=".activity.AnimalDetailsActivity"
android:parentActivityName=".activity.TabbedActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activity.TabbedActivity"/>
</activity>
这里是我生成通知和意图的地方:
Intent resultIntent = new Intent(context.getApplicationContext(), AnimalDetailsActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context.getApplicationContext());
stackBuilder.addParentStack(AnimalDetailsActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(icon_resource_id)
.setLargeIcon(large_icon)
.setContentTitle(title)
.setContentText(text)
.setContentIntent(resultPendingIntent)
.setAutoCancel(true);
return builder.build();
然后我把他们送走
private static void sendNotifications(List<android.app.Notification> notifications) {
NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
for (android.app.Notification notification : notifications) {
manager.notify(++drawerId, notification);
}
}
在目标活动中,我启用了向上按钮箭头和向上导航:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
我相信我正确地遵循了指南。那么为什么向上箭头没有将用户带到父活动?
【问题讨论】: