Autore Topic: Problema Notification e lancio Activity  (Letto 914 volte)

Offline ScarfaceIII

  • Utente junior
  • **
  • Post: 112
  • Respect: +13
    • raferalston12
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Sistema operativo:
    GNU/Linux, Ubuntu 10.04 / Windows 7
Problema Notification e lancio Activity
« il: 19 Ottobre 2010, 18:07:12 CEST »
0
Buongiorno a tutti, scrivo in merito ad un problema più o meno già sollevato nel tutorial di riferimento da Ricky: qui. In pratica, seguito il tutorial, fatta la notification, il comportamento che vorrei ottenere è simile a quello richiesto da Ricky, in realtà ottengo qualcosa di diverso e poco piacevole per la "user experience". Vado a spiegare:

La mia applicazione consiste in un'Activity semplice che chiede all'utente di inserire l'indirizzo di Navigazione, poi premendo un tasto lancia Navigator, con preimpostato l'indirizzo inserito e insieme lancia anche un Service. Ora, dato che su Navigator non ho controllo, non ho poi modo di stoppare il Service se, ad esempio, una volta finito di usare il navigatore, l'utente preme Home. In tal senso ho aggiunto la notifica che va a riaprire la mia Activity principale, che ha un tasto "Close" che stoppa il Service, leva la Notification e fa finish();
Quello che succede in realtà è questo:

- avvio Activity1
- avvio Google Navigator
- Notification, click
- "ritorno"/avvio Activity1
- tasto Close
- nuovamente Activity1!
- nuovamente Close
- ahhh finalmente chiuso tutto!

Il tutto perché, credo, il PendingIntent va a lanciare letteralmente l'Activity, creandone una nuova istanza, senza controllare che ne esista già una nello stack delle Activity recenti. In questo modo devo chiudere due volte in pratica...e non è elegantissimo...
Ho provato come suggerito da Qlimax nel tutorial a usare le flag, ma, sempre come detto nel tutorial, da Ricky però, quelle flag dei PendingIntent influiscono solo se l'Activity è stata lanciata da un PendingIntent, non dal "regolare flusso" delle Activity come nel mio caso...

Spero di essere stato chiaro, in ogni caso sono disponibile se avete domande. Grazie dell'aiuto ed eventuali suggerimenti, anche riguardanti modi migliori di fare quello di cui ho bisogno! :P

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema Notification e lancio Activity
« Risposta #1 il: 19 Ottobre 2010, 19:08:51 CEST »
0
Prova a postare il codice che hai utilizzato per creare la notification ;)

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Problema Notification e lancio Activity
« Risposta #2 il: 19 Ottobre 2010, 20:12:04 CEST »
+3
Prova ad impostare l'activity con android:launchMode="singleTop"

Maggiori info qui: <activity> | Android Developers

Offline ScarfaceIII

  • Utente junior
  • **
  • Post: 112
  • Respect: +13
    • raferalston12
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Sistema operativo:
    GNU/Linux, Ubuntu 10.04 / Windows 7
Re:Problema Notification e lancio Activity
« Risposta #3 il: 20 Ottobre 2010, 17:17:32 CEST »
0
Prova ad impostare l'activity con android:launchMode="singleTop"

Maggiori info qui: <activity> | Android Developers

...rullo di tamburi...and the winner is...

grazie, era la medicina giusta!  ;-) segnato come risolto e "double thumbs up"  8-) (posso metterne uno solo, ma fa come se fossero 2 :-X)

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Problema Notification e lancio Activity
« Risposta #4 il: 20 Ottobre 2010, 17:55:21 CEST »
0
Ovviamente non è tutto oro quello che luccica!  :-o

Controlla anche tutte le contro indicazioni nell'uso di quella impostazione!  8-)