2013-12-06 3 views
0

У меня есть активность, где я флаг во весь экран после изменения ориентации, проблема в том, что когда вы в настоящее время находитесь в полноэкранном режиме, и вы нажимаете кнопку «Назад», она полностью возвращается к предыдущему фрагменту -screen, которого я не хочу. Я добавил этот код, но он не кажется, называется:Android onkeydown() не работает

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
    //do what ever you want here 
    getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    getActivity().getActionBar().show(); 
    getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    Toast.makeText(getActivity().getBaseContext(), "backbuttonpressed", Toast.LENGTH_LONG).show(); 
    getActivity().finish(); 
    return true; 
    } 
    return super.getActivity().onKeyDown(keyCode, event); 
} 
+0

Попробуйте добавить код на 'onBackPressed'. – Apoorv

+0

вы вызываете это из фрагмента? – Piyush

+0

onBackPressed не работает ни –

ответ

0

Может быть, это будет работать для вас:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    Setting s = Utils.readSettings(this); 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     moveTaskToBack(true); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
Смежные вопросы