ببینید من این کد رو برای چندتا از دکمه های سخت افزاری نوشتم
که روی همه دکمه ها جواب میده جز دکمه home
روی گوشی هواوی تست کردم که دکمه home لمسی داره و روی دکه back که اونم لمسیه جواب داد


@Override
// رویداد دکمه های سخت افزاری برای زمانی که دکمه ها فشرده میشوند
public boolean onKeyDown(int keyCode, KeyEvent event) {

switch (keyCode) {
case KeyEvent.KEYCODE_HOME:

//رویداد برای دکمه home

Toast.makeText(this, "Pressed home button", Toast.LENGTH_SHORT).show();
stopService(new Intent(getBaseContext(), myservice.class));


return true;
case KeyEvent.KEYCODE_BACK:
//رویداد برای دکمه سخت افزاریback

Toast.makeText(this, "Press again back for exit", Toast.LENGTH_SHORT).show();


return true;
//رویداد برای دکمه آپ ولوم
case KeyEvent.KEYCODE_VOLUME_UP:

Toast.makeText(this, "VOLUME_UP key pressed", Toast.LENGTH_SHORT).show();
stopService(new Intent(getBaseContext(), myservice.class));

return true;
//رویداد برای دکمهDownولوم
case KeyEvent.KEYCODE_VOLUME_DOWN:

Toast.makeText(this, "VOLUME_DOWN key pressed", Toast.LENGTH_SHORT).show();

return true;
}

return super.onKeyDown(keyCode, event);
}