У меня есть три действия – AB и C, из которых B – вкладка . Сначала запускается операция A, а B запускается с A. Я завершаю операцию A, когда B запускается с использованием этого кода
public void onStop() { super.onStop(); this.finish(); }
Теперь я хочу запустить Activity C, когда в B.
Я попробовал переопределить ключ, используя этот код
@Override public void onBackPressed() { this.getParent().onBackPressed(); }
Это не помогает, поскольку родительская активность завершается при запуске дочерней операции. Что на самом деле происходит, когда я нажимаю клавишу «Назад», это то, что «Активность» выходит на главный экран.
Я попробовал переопределить задний ключ и установить для него намерение
@Override public void onBackPressed() { Intent backIntent = new Intent(); backIntent.setClass(this, main.class); startActivity(backIntent); }
Это также не помогает мне. Что может быть возможным решением этой проблемы? Как запустить Activity C при нажатии клавиши «Назад»?
Во-первых, вы не должны заканчивать действие A, когда действие A останавливает это полностью неправильный подход, вместо этого вы должны закончить активность при запуске операции B.
Например
Intent i = new Intent(this, B.class); startActivity(i); finish();
Теперь вы хотите начать действие C, когда пользователь нажимает кнопку «Назад», поэтому используйте приведенный ниже код.
@Override public void onBackPressed() { Intent backIntent = new Intent(this, C.class); startActivity(backIntent); super.onBackPressed(); }
Вы должны переопределить onKeyDown
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == event.KEYCODE_BACK) { //Do your code here } return super.onKeyDown(keyCode, event); } }
Это будет вызываться, когда пользователь нажимает кнопку жесткого диска устройства.
Чтобы перейти к следующему действию: StartActivity (новый Intent (getApplicationContext (), main.class));
Переопределите метод ниже и импортируйте событие …..
public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == event.KEYCODE_BACK) { //Write your intent or other code here } return super.onKeyDown(keyCode, event); }