2011-01-10 2 views
0

Я знаю, что эта тема была задана триллионами раз в Интернете, но нет ни одного места, отвечающего на нее.BadTokenException - кнопка BACK

в моем приложении, у меня есть экран приветствия. когда я запускаю программу в конец, все просто прекрасно - открывать/закрывать действия и показывать диалоги всех видов.
, но, когда я достигаю экран приветствия и оттуда нажатием на кнопку НАЗАД - все становится грязным:
1) диалог я хочу показать причину BadTokenException (я использую this и не getApplicationContext()).

2) Я попытался использовать try/catch, чтобы поймать исключение - и он действительно прошел линию showDialog. но затем, во 2-м. при достижении выражения showDialog он выбрасывает IllegalStateException: [email protected]9830 has already been added to the window manager.

Кроме того, я понимаю, что нажатие HOME вызывает onPause в действии, в то время как BACK вызывает onDestroy, но что не так?

Я пытаюсь исправить эту проблему за более недели, но безуспешно. любые идеи?

ответ

0

Я не понял вас, но я думаю, что вам нужно сделать что-то, когда нажата кнопка «Назад». Таким образом, вы можете переопределить вас кнопку назад в вас приветствовать деятельность экрана или любой другой деятельности, и добавьте ваш код там

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     // add you code here 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+0

единственное, что я могу думать о замене «добавить свой код здесь» звонит закончить(). проблема - finish() вызывают то же поведение, что и кнопка BACK :( – Amico

+0

finish() вызывают то же поведение, что и кнопка BACK! ??? Finish() вызывается, когда ваша активность завершена и должна быть закрыта (вызов onDestroy) .Если действие кнопки «назад» вы можете переопределить и сделать по своему желанию –

+0

Labeeb, это не то, что я имел в виду, «вызывают то же поведение, что и кнопка BACK». Я имел в виду, если бы я попытался позвонить на главный экран , Я получаю ту же ошибку и исключение. Что я могу записать в кнопке BACK? - нажатие назад из основного действия возвращает экран HOME, который в порядке, но вызывает проблемы на пути. – Amico

Смежные вопросы