2013-10-13 2 views
3

나는 안드로이드를 처음 접하기 때문에 광범위하게 이걸 찾았습니다. 어떤 도움을 많이 주시면 감사하겠습니다 :) 다음을 수행하는 응용 프로그램에 대한 요구 사항이 있습니다 :서비스의 키 수신기

볼륨 키 (UP/Down)를 수신하는 서비스로 백그라운드에서 실행되는 응용 프로그램입니다. 이 이벤트에서 활동이 포 그라운드로 표시됩니다.

이 도와주세요 [내가 활동에서이 작업을 수행 할 수 있어요, 그러나 활동은 전경에서 단 내가 축배를 얻을 볼륨 버튼을 누른 후.이어야한다]!

답변

0

당신은 그것을 듣고 의도 필터를 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에 있습니다 (이 코드는 여기에서 가져 왔습니다)

편집 : 고정 KeyEven t 키 코드 상수