마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

headset button 감지 질문입니다.

0 추천

안드로이드에서 headset (이어폰)에 있는 버튼 이벤트를 확인 할 수 있는 방법을 알 수 있는지요..

 

브로드케스트 리시버로 하라는데

 

public class HeadsetButtonIntentReceiver 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_MEDIA_PLAY == event.getKeyCode()) {
	            	Toast.makeText(context, "눌렀다", Toast.LENGTH_SHORT).show();
	            }
	        }
	    }
	}

 

이런식으로 해봤습니다. 이어폰 버튼을 누르면 이벤트를 받게..

 

그리고 onCreate에서 리시버를 등록했습니다.

 

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		HeadsetButtonIntentReceiver headsetButtonIntentReceiver = new HeadsetButtonIntentReceiver();
		IntentFilter mediaFilter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
// 		기본 미디어 플레이어보다 높은 우선순위를 지정.
		mediaFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY + 1); 
		registerReceiver(headsetButtonIntentReceiver, mediaFilter);

 

매니패스트입니다..

 

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.headseteventtest.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

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

작동이 안됩니다..

 

왜 그런지 아시는지요..?

도움을 좀 주시면 감사하겠습니다..

 

 

윤둥이 (4,560 포인트) 님이 2013년 5월 21일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...