Как обнаружить аппаратную домашнюю клавишу нажатой в сервисе Android?

По сути, я пытаюсь найти событие нажатия моей домашней клавиши в моем Сервисе,

Я использовал широковещательный приемник с фильтром намерений "CLOSE_SYSTEM_DIALOGS" и достиг полпути... Теперь он отлично работает с программной клавишей home, но не с устройством, на котором есть аппаратная клавиша home (пример: в Samsung J7 я не могу принять трансляцию).

У кого-нибудь есть идеи, чтобы решить эту проблему?

1 ответ

public class MainActivity extends Activity {
  boolean homePressed = false;


@Override
public void onBackPressed() {
    homePressed = false; 
}

@Overide
public void onResume() {
    super.onResume();
    homePressed = true;
}

@Override
public void onPause() {
    super.onPause();
    if(homePressed) { Log.i(TAG, "Got it"); }
}

Попробуй это.

Другие вопросы по тегам