2016-09-19 6 views
0

Я понял, что onKeyDown() вызывает выбранное в настоящее время представление. Есть ли способ заставить мою деятельность поймать событие независимо от того, в чем основное внимание?Как сделать onKeyDown invoke независимо от фокуса?

Мой класс, если интересно:

MaterialFilePicker filePicker; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Start File Picker 
    filePicker = new MaterialFilePicker(); 
    filePicker.withActivity(this) 
      .withRequestCode(1) 
      .withHiddenFiles(true) // Show hidden files and folder 
      .start(); 

    //Let DataManager prepare the application 
    DataManager.StartUp(this); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == 1 && resultCode == RESULT_OK) { 
     DataManager.File = new File(data.getStringExtra(FilePickerActivity.RESULT_FILE_PATH)); 
     startActivity(new Intent(this, SectionChooserActivity.class)); 
    } 
} 

@Override 
public boolean onKeyDown(int keycode, KeyEvent e) { 
    //This method will never get called :/ 
    switch (keycode) { 
     case KeyEvent.KEYCODE_MENU: 
      Stuff(); 
      return true; 
    } 
    return super.onKeyDown(keycode, e); 
} 

ответ

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