У меня есть действие, которое открывает диалог сразу после его открытия:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPath = new File(getIntent().getExtras().getString("START_PATH"));
FTYPE = getIntent().getExtras().getString("FILTER");
showDialog(DIALOG_LOAD_FILE);
}
Я пытаюсь сделать так, чтобы, когда пользователь нажимает кнопку «Назад» (все еще находясь в диалоге), все действие прекращается. У меня есть следующее:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent resultIntent = new Intent();
resultIntent.putExtra("FILE_PATH", mPath.toString());
setResult(Activity.RESULT_OK, resultIntent);
finish();
}
return true;
}
Это прекрасно работает, если Диалог больше не существует, но не вызывается, если Диалог все еще активен. Мысли?