Переопределить домашнюю кнопку в Android
Мне нужно переопределить кнопку "Домой" для приложения блокировки экрана. И я нашел следующий ответ, который перезапускает приложение через 6 секунд при нажатии кнопки домой.
protected void onUserLeaveHint() {
Intent i=new Intent(this,MainActivity123.class);
startActivity(i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
Toast.makeText(this,"leaveHint",Toast.LENGTH_SHORT).show();
}
Но я хочу немедленно запустить приложение. Так что я думаю, что это был ответ, говорящий, что если мы сделаем приложение Launcher по умолчанию для нашего приложения, то у них не будет промежутка времени. Так что я добавил в свой манифест
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Но это не работает, и приложение все еще перезапускается через 6 секунд. что я должен делать.
Поэтому проведите еще несколько исследований и найдите другой метод {используется для перехода к экрану по умолчанию в панели запуска, когда вы уже находитесь на главном экране} Метод вызывается автоматически с использованием соответствующего флага в startActivity()
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Toast.makeText(this,"onNewEvent",Toast.LENGTH_SHORT).show();
if ((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) !=
Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) {
Toast.makeText(this,"onNewEvent",Toast.LENGTH_SHORT).show();
//++goHome++
startActivity(intent);
}
}
Метод вызывается, но приложение все еще запускается через 6 секунд. ТАК нет прогресса Любое предложение........
1 ответ
Попробуйте переопределить кнопку home, реализовав этот метод:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_HOME)) {
Toast.makeText(this, "You pressed the home button!", Toast.LENGTH_LONG).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
:) Надеюсь, поможет.