2013-10-13 2 views
3

Я новичок в android, и я обстоятельно искал это. Любая помощь была бы очень благодарна :) У меня есть требование для приложения, которое выполняет следующие действия:Ключевой прослушиватель в службе

Приложение, которое работает в фоновом режиме как служба, которая прослушивает клавишу регулировки громкости (UP/Down). В этом случае активность будет отображаться на переднем плане.

[Я могу сделать это от деятельности, однако деятельность должна быть на переднем плане, и только после того, как я нажимаю кнопку громкости я получаю тост.]

Пожалуйста ПОМОГИТЕ !!!

ответ

0

Вы можете создать BroadcastReceiver, который прослушивает android.intent.action.MEDIA_BUTTON и зарегистрировать фильтр намерений, чтобы слушать:

<receiver android:name=".RemoteControlReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.MEDIA_BUTTON" /> 
    </intent-filter> 
</receiver> 

затем в ресивере вы регулируете изменение:

public class RemoteControlReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) { 
      KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); 
      if (KeyEvent.KEYCODE_VOLUME_DOWN == event.getKeyCode()) { 
       // Handle key press. 
      } 
     } 
    } 
} 

Пожалуйста, обратите внимание на https://developer.android.com/training/managing-audio/volume-playback.html для получения дополнительной информации (этот код был взят оттуда)

Редактировать: fixed KeyEven t постоянный код ключа

Смежные вопросы