Autore Topic: Activity in primo e secondo piano  (Letto 848 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
Activity in primo e secondo piano
« il: 27 Ottobre 2010, 15:59:11 CEST »
0
Buongiorno a tutti, ecco a voi un nuovo problema by Scarface! siete contenti vero?!  o_O
Veniamo al sodo: la mia applicazione consiste in una Activity principale che alla pressione di un Button, lancia Google Navigator e contemporaneamente anche un Service, che sotto determinate condizioni, fa partire una nuova Activity, una specie di "popup" che ha la funzione di avviso e di interazione con l'utente (Yes/No...).
Ora, quello che vorrei fare è far si che il popup appaia "sopra" al Navigator, dato che ho configurato appositamente l'Activity per non occupare tutto lo schermo ed essere insomma un vero e proprio popup. Quello che succede in realtà è che quando triggera il Service, viene riportata in primo piano l'Activity principale, e, sopra di essa, compare il popup (tutti istantaneamente, ma è l'effetto che crea che non mi piace). Si può intuire per prima cosa che non è molto comodo, dato che l'utente poi deve andare tra le Notification e riprendere la navigazione e in generale non è molto elegante, infine: non è quello che VOGLIO!!! :D

Avete consigli/suggerimenti o qualche link sui cui mi possa erudire? Più in generale, credete sia possibile una cosa del genere?

Grazie mille come sempre dell'aiuto...

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Activity in primo e secondo piano
« Risposta #1 il: 27 Ottobre 2010, 21:08:20 CEST »
0
Non credo sia possibile visualizzare un dialog senza visualizzare la relativa activity, mi vengono in mente però un paio di soluzioni:
- Prova a creare una activity con sfondo trasparente
- Invece di creare il dialog crea una activity con tema Theme.Dialog
Android applications: echlabSoftware

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:Activity in primo e secondo piano
« Risposta #2 il: 27 Ottobre 2010, 21:35:06 CEST »
0
Il popup è fatto esattamente come dici tu, ovvero un'Activity apposita, con l'attributo "   android:theme="@android:style/Theme.Dialog". Il problema penso sia nella flag dell'Intent che la lancia o nell'attributo "android:launchMode"...boh! grazie cmq del tentativo!  :-P

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Activity in primo e secondo piano
« Risposta #3 il: 27 Ottobre 2010, 22:03:38 CEST »
0
Quello che succede in realtà è che quando triggera il Service, viene riportata in primo piano l'Activity principale, e, sopra di essa, compare il popup (tutti istantaneamente, ma è l'effetto che crea che non mi piace).

Qual'è l'activity principale? Che launch mode utilizzi ?
« Ultima modifica: 27 Ottobre 2010, 22:06:56 CEST da droid7 »
Android applications: echlabSoftware

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:Activity in primo e secondo piano
« Risposta #4 il: 28 Ottobre 2010, 00:32:46 CEST »
0
L'activity principale è composta solo di un Button, che "onClick" fa questo:
- alertServiceIntent = new Intent(getApplicationContext(),AlertService.class);
- startService(alertServiceIntent);
- mapIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=" + uri));
- startActivity(mapIntent);

Quando il Service triggera la condizione che mi serve, il Service fa questo:
- mIntent = new Intent(getApplicationContext(),PopUpActivity.class);
- mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //è necessario perché l'Activity viene lanciata al di fuori del Context di un'altra Activity
- startActivity(mIntent);

Quello che succede è, come ho detto, che la "PopUpActivity" poppa (perdona il gioco di parole), sopra l'Activity principale, e non sopra il Navi, come vorrei.

grazie dell'interesse