package com.lq.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.KeyEvent;
import com.lq.service.MusicService;
/**
* 处理媒体按键的广播接收器
*
* @author lq 2013-6-1 lq2625304@gmail.com
* */
public class MediaButtonReceiver extends BroadcastReceiver {
private static final String TAG = MediaButtonReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
KeyEvent key = (KeyEvent) intent
.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (key.getAction() == KeyEvent.ACTION_DOWN) {
TelephonyManager tm = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
if (tm.getCallState() == TelephonyManager.CALL_STATE_IDLE) {
Log.i(TAG, "OnReceive, getKeyCode = " + key.getKeyCode());
switch (key.getKeyCode()) {
case KeyEvent.KEYCODE_HEADSETHOOK:
context.startService(new Intent(
MusicService.ACTION_PLAY));
break;
case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
context.startService(new Intent(
MusicService.ACTION_PREVIOUS));
break;
case KeyEvent.KEYCODE_MEDIA_NEXT:
context.startService(new Intent(
MusicService.ACTION_NEXT));
break;
}
}
}
}
}
}