2012-06-29 2 views
3

У меня есть открытый файл pdf через мое приложение. Когда вы нажимаете кнопку возврата устройства, он автоматически возвращается в мое приложение. Он работает нормально. Вот я хочу, чтобы событие кнопки возврата было в device.I переопределить кнопку back.but не работает.пожалуйста, помогите мне.Как уловить событие кнопки назад в Android?

+0

у вас есть открытый файл pdf через Intent? –

ответ

10

Это пример того, что вы спрашиваете:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     //do your stuff 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+1

Я добавил этот код. Но он не работает. –

+0

http://stackoverflow.com/questions/5312334/how-to-handle-back-button-in-activity. Проверь это – Dhaval

0

Вы бы переопределили событие onKeyDown в своем классе Activity и искали keyCode от KEYCODE_BACK. Чтобы предотвратить дальнейшее распространение, вы должны вернуть true, чтобы остановить обработку системы, и это должно остановить кнопку возврата от вашего пользователя вне места, где бы вы ни находились.

Это нарушает правила того, что пользователь ожидает, однако, и не рекомендуется, если вы не переопределяете кнопку «Назад» для чего-то вроде возврата через страницы в WebView или что-то в этом роде.

1

просто вызовите функцию foolowing это будет закрывать текущую деятельность и перейти к предыдущему экрану

finish(); 
0
public void onBackPressed() { 

     Intent intent = new Intent(CurrentActivity.this, 
       PreviousActivity.class); 
     startActivity(intent); 

      return; 
     } 
0

Если у вас обработали операции с файлами, связанными с PDF-файлами (например, чтение и т. д.) в приложении, то есть в этом приложении есть операции или фрагменты, обрабатывающие эти операции с файлами PDF, тогда вы можете переопределить метод onBackPressed() ваша логика там. Но если вы открываете PDF через намерение, используя другое приложение, используя параметр action intents, вы не можете переопределить там событие onBackPressed() или onKeyDown() в своем приложении. Но вместо этого вы можете поместить свою логику в переопределение метода onActivityResult() в своей деятельности, из которого вы открываете файл pdf.

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