Autore Topic: Runnable viene eseguito su emulatore, ma non su device  (Letto 484 volte)

Offline nicauron

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7 Ubuntu 11.04
Runnable viene eseguito su emulatore, ma non su device
« il: 14 Ottobre 2012, 13:12:53 CEST »
0
Salve, ho scritto un metodo che avesse il compito, trascorso un certo intervallo di tempo, di lanciare una seconda activity per mostrare un dialog, per farlo ho usato un Handler, qui il codice.
Codice (Java): [Seleziona]
public void timeEx(int result) {
                Handler handler = new Handler();
                handler.postDelayed(
                        new Runnable() {
                                public void run() {
                                        Intent intent = new Intent();
                                        Log.d("runnable", "eseguito");
                                        intent.setClass(getApplicationContext(), MessageActivity.class);
                                        intent.putExtra("MainLayoutActivity", variabile1);
                                        startActivity(intent);
                                       
                                }
                        },result);
        }

Quando eseguo l'activity sul device, l'intent in run() viene lanciato SOLO se l'activity è in primo piano cioè non è stata terminata con finish() o onDestroy(), mentre sull'AVD funziona come dovrebbe cioè quando premo il tasto indietro, l'activity va in finish(), ma il messaggio viene visualizzato lo stesso. Sto utilizzando le API 2.3.3. Funziona sia sull'AVD 2.3.3 sia sull'AVD 4.0.3. Sul telefono ho invece CyanogenMod 9 con Android 4.0.4