Sto avviando un'attività - chi ha un'attività padre - da una notifica nel riquadro delle notifiche. L'attività figlio ha attivato la navigazione. Voglio che l'attività figlio ritorni all'attività padre quando si fa clic sul pulsante di navigazione su. Questo comportamento funziona per il normale flusso di applicazioni. Tuttavia, quando l'utente immette l'attività secondaria tramite la notifica, facendo clic sul pulsante di navigazione su non si porta l'utente all'attività padre; invece, termina l'applicazione.L'attività secondaria avviata dalla notifica non ritorna alla navigazione principale in avanti
Ecco il manifest per l'attività che deve essere avviata quando si fa clic sulla notifica. Ha un genitore TabbedActivity
<activity
android:name=".activity.AnimalDetailsActivity"
android:parentActivityName=".activity.TabbedActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activity.TabbedActivity"/>
</activity>
Qui è dove ho generare la notifica e di intenti:
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();
e poi li mando fuori
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);
}
}
All'interno l'attività di destinazione, io abilitare il freccia su e freccia su:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
Credo di seguire correttamente le guide. Quindi, perché la freccia su non porta l'utente all'attività principale?