Pergunta

Quando minha notificação dispara, quero restaurar a atividade que foi colocada em segundo plano, não inicie uma nova atividade. Eu já vi algumas respostas sobre o uso de bandeiras, mas não sei como implementá -lo

contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | INTENT.FLAG_ACTIVITY_SINGLE_TOP);

Onde eu coloco isso no meu código? Eu tentei, mas não funcionou. Por favor ajude!

        ns = Context.NOTIFICATION_SERVICE;
        mNotificationManager = (NotificationManager) getSystemService(ns);
        icon = R.drawable.icon;
        tickerText = "Short Msg";
        when = System.currentTimeMillis();
        notification = new Notification(icon, tickerText, when);
        context = getApplicationContext();
        contentTitle = "MyApp";
        contentText = "Reopen App";
        notification.defaults |= Notification.DEFAULT_SOUND;
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        notificationIntent = new Intent(this, StartTimer.class);
        contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
        notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
Foi útil?

Solução

Descobriu, defina a atividade para o manifesto de singletop ou uniformes no Android, em seguida, em vez de criar uma nova atividade, ela apenas reabriu a que ainda está ativa.

Outras dicas

Observe que a resposta marcada como correta não está completamente correta, pois o "singletop" ainda pode criar várias instâncias de sua atividade sob certas condições.

Os modos de lançamento que realmente são Garanteed para criar uma instância única de sua atividade em qualquer condição são "SingleTask" e "instância única".

Essas duas opções criam uma e única tarefa para sua atividade ser a raiz da tarefa, com a diferença de que "SingleInstance" não permite outras atividades em cima, enquanto "SingleTask" faz.

Fonte:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top