Próbuję wyświetlić prostą wiadomość za pośrednictwem Toast i otrzymuję wyjątek RunTime "wysyłanie wiadomości do Handler'a na martwym wątku". Klasa, która próbuje wyświetlić komunikat Toast, rozszerza IntentService. Klasa (C2DMReceiver) faktycznie pochodzi z przykładu ChromeToPhone dla C2DM. Oto sposób:Toast "wysyłanie wiadomości do Handler'a na martwym wątku"
/**
* Called when a cloud message has been received.
*/
@Override
public void onMessage(Context context, Intent intent) {
Log.i(LOG_TAG, "A message notification has occured with the cloud.");
Log.i(LOG_TAG, "Showing toast message of the broadcast...");
Toast toast = Toast.makeText(context, "Some text", Toast.LENGTH_LONG);
toast.show();
Log.i(LOG_TAG, "Sending notification of the broadcast...");
LauncherUtils.generateNotification(this, "this is where the text would go.", "Broadcast", intent);
}
}
Sądziłem, ponieważ klasa rozszerza IntentService, że byłoby to możliwe, aby poprosić o prostą wiadomość Toast stąd w ten sposób. Czy to nie prawda?
Nie jestem pewien, śledzę, gdyż nie ma bezpośredniego odniesienia do obsługi z obiektu toastowego. Zaimplementowałem metodę onCreate, ale nadal otrzymuję wyjątek martwego wątku. Jaki jest właściwy sposób tworzenia programu obsługi w tej sytuacji? To jest mój onCreate, z chronionym handler'owym handler'em; @Override public void onCreate() { super.onCreate(); handler = new Handler() { @Override public void handleMessage (MSG Message) { Log.i (LOG_TAG "W handleMessage ..."); } }; } – John