我從通知抽屜中的通知開始活動 - 他們有父活動 - 。兒童活動已啓用導航。當點擊向上導航按鈕時,我希望子活動返回到父活動。此行爲適用於正常的應用程序流。但是,當用戶通過通知輸入子活動時,單擊向上導航按鈕不會將用戶帶到父活動;相反,它結束了應用程序。從通知中啓動的兒童活動在向上導航中不會返回給父母
以下是單擊通知時應啓動的活動清單。它有一個父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);
我相信我正確地遵循指南。那麼爲什麼向上箭頭不會將用戶帶到父母活動?