Autore Topic: Long press home e task  (Letto 1753 volte)

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Long press home e task
« il: 04 Gennaio 2012, 12:58:31 CET »
0
Salve,

Credo che sto facendo casini con i task e la gestione delle Activity.
Il mio problema è il seguente, Activity A apre Activity B, Activity B apre Activity C. Tutte sono singleInstance. C quando va in pausa fa finish(). Il mio problema sta quando cerco di riaprire l'applicazione premendo a lungo su home.
Sono in C, premo home (l'Activity finisce) premo home a lungo e riapro l'applicazione. Mi aspetto di vedere B, invece vedo C.
Cosa sbaglio? Qualche concetto?

Vi ringrazio per una risposta.

Saluti
I numeri contano molto di più del seme.

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Long press home e task
« Risposta #1 il: 04 Gennaio 2012, 13:23:00 CET »
0
Salve,

Credo che sto facendo casini con i task e la gestione delle Activity.
Il mio problema è il seguente, Activity A apre Activity B, Activity B apre Activity C. Tutte sono singleInstance. C quando va in pausa fa finish(). Il mio problema sta quando cerco di riaprire l'applicazione premendo a lungo su home.
Sono in C, premo home (l'Activity finisce) premo home a lungo e riapro l'applicazione. Mi aspetto di vedere B, invece vedo C.
Cosa sbaglio? Qualche concetto?

Vi ringrazio per una risposta.

Saluti

non vorrei dire una cavolata, ma credo che il finish() dentro il pause sia una cosa da non fare...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Long press home e task
« Risposta #2 il: 04 Gennaio 2012, 14:05:36 CET »
0
Prova a mettere il finish() alla fine della onResume della activity C.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Long press home e task
« Risposta #3 il: 04 Gennaio 2012, 14:30:43 CET »
0
Prova a mettere il finish() alla fine della onResume della activity C.

Beh ma in questo modo non si avvierebbe neanche, credo.

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Long press home e task
« Risposta #4 il: 04 Gennaio 2012, 14:38:14 CET »
0
Ma dite che e' una questione di finish? Io non credo, qualcosa più come backStack o simile. Credo appunto che la Activity C rimanga in cima e quindi me la riapre. Forse dovrei sovrascrivere il modo di lancio del long press home, qualche idea?

Saluti.

P.S. finish() nell'onResume chiude l'Activity prima di diventare running.
« Ultima modifica: 04 Gennaio 2012, 14:39:49 CET da eagledeveloper »
I numeri contano molto di più del seme.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Long press home e task
« Risposta #5 il: 04 Gennaio 2012, 15:28:28 CET »
0
Beh ma in questo modo non si avvierebbe neanche, credo.

E' vero   :-X  stavo pensando a qualcosa che la fa chiudere appena viene riaperta.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Long press home e task
« Risposta #6 il: 04 Gennaio 2012, 15:36:51 CET »
0
Ma dite che e' una questione di finish? Io non credo, qualcosa più come backStack o simile. Credo appunto che la Activity C rimanga in cima e quindi me la riapre. Forse dovrei sovrascrivere il modo di lancio del long press home, qualche idea?

Ma quando tu fai un longpress del tasto home cosa succede alla tua Activity? Prova a mettere un Log nei vari metodi onCreate, onStart, onResume, onPause, onStop e onDestroy :)

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Long press home e task
« Risposta #7 il: 04 Gennaio 2012, 15:56:47 CET »
0
Succede questo:

Codice: [Seleziona]
I/ActivityManager(  225): Starting: Intent { flg=0x14100000 cmp=ch.eagledeveloper.myProject/.CActivity } from pid 225
I/myTag(18511): CActivity --->onCreate#
I/myTag(18511): CActivity --->onStart#
I/myTag(18511): CActivity --->onResume#
W/dalvikvm(18511): threadid=10: thread exiting with uncaught exception (group=0x2aac8560)
E/AndroidRuntime(18511): FATAL EXCEPTION: Thread-20
E/AndroidRuntime(18511): java.lang.NullPointerException
W/ActivityManager(  225):   Force finishing activity ch.eagledeveloper.myProject/.CActivity
D/dalvikvm(  225): GC_EXTERNAL_ALLOC freed 518K, 49% free 6625K/12935K, external 4588K/4622K, paused 76ms
I/myTag(18511): CActivity --->onPause#
W/ActivityManager(  225): Duplicate finish request for HistoryRecord{2b2dfb28 ch.eagledeveloper.myProject/.CActivity}
V/AudioService(  225): HDMI disconnected
W/AudioPolicyManager(  105): setDeviceConnectionState() device not connected: 800
I/myTag(18511): CActivity --->onDestroy#

Ovviamente il NullPointerException non mi preoccupa, infatti l'Activity C non deve nemmeno partire. Deve riaprire la B.

Saluti
I numeri contano molto di più del seme.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Long press home e task
« Risposta #8 il: 04 Gennaio 2012, 15:59:24 CET »
0
Ma quindi se riapri la tua applicazione ti fa ripartire l'oncreate dell'activity c?

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Long press home e task
« Risposta #9 il: 04 Gennaio 2012, 17:30:44 CET »
0
Ma quindi se riapri la tua applicazione ti fa ripartire l'oncreate dell'activity c?
a me pare strano....
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Long press home e task
« Risposta #10 il: 04 Gennaio 2012, 23:08:29 CET »
0
Si' esattamente, con il long press home riparte C, non so più dove sbattere la testa c'e' qualcosa che mi sfugge...

Saluti.
I numeri contano molto di più del seme.

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:Long press home e task
« Risposta #11 il: 04 Gennaio 2012, 23:44:13 CET »
0
Se l'activity C riparte dall'onCreate vuol dire che il finish() ha fatto il suo dovere è l'ha distrutta, ma alla riapertura c'è qualcuno che richiama l'activity C

Citazione
I/ActivityManager(  225): Starting: Intent { flg=0x14100000 cmp=ch.eagledeveloper.myProject/.CActivity } from pid 225

Che non sia l'activity B che la richiami in qualche modo ? Prova a inserire dei Log anche in B per vedere se quando riapri l'app non sia la responsabile...

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Long press home e task
« Risposta #12 il: 05 Gennaio 2012, 08:31:37 CET »
0
Se l'activity C riparte dall'onCreate vuol dire che il finish() ha fatto il suo dovere è l'ha distrutta, ma alla riapertura c'è qualcuno che richiama l'activity C

Che non sia l'activity B che la richiami in qualche modo ? Prova a inserire dei Log anche in B per vedere se quando riapri l'app non sia la responsabile...

No, proprio parte C, B non viene minimamente toccata. C'e' qualcosa di concettuale che mi sfugge...

Saluti.
I numeri contano molto di più del seme.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Long press home e task
« Risposta #13 il: 05 Gennaio 2012, 09:21:20 CET »
0
No, proprio parte C, B non viene minimamente toccata. C'e' qualcosa di concettuale che mi sfugge...

Saluti.

Hai provato a rimuovere il singleInstance? tanto se termini tu l'activity manualmente non dovrebbero essercene più di una in esecuzione.

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Long press home e task
« Risposta #14 il: 05 Gennaio 2012, 10:04:18 CET »
0
Hai provato a rimuovere il singleInstance? tanto se termini tu l'activity manualmente non dovrebbero essercene più di una in esecuzione.

Ho provato e non cambia nulla, viene sempre lanciata C anche senza singleInstance o con un altro flag.

Saluti.
I numeri contano molto di più del seme.