Android控制音乐与服务中的耳机按钮

时间:2015-06-09 15:44:52

标签: android service controls volume headset

我是Android编程的新手,想要执行以下操作:

我创建了一个后台服务。当我正在听音乐(例如三星设备上的标准音乐播放器)并且该服务处于活动状态时,我希望该服务能够收听耳机按钮。这意味着:

  • 长按+耳机时:下一曲目
  • 短按+耳机时:大声
  • 长按 - 在耳机上:最后一首曲目
  • 短按 - 在耳机上:更安静

Q1。什么是实施此行为的最佳方法?甚至可以在服务中进行吗?

Q2。手机硬件按钮+/-和耳机按钮+/-?

之间有区别吗?

提前致谢。

修改

在我的Service.java中,我有onStartCommand-Method,我想插入监听器:

public int onStartCommand(Intent intent, int flags, int startId){

    Toast.makeText(getApplicationContext(), "Volume control active!", Toast.LENGTH_SHORT).show();

    //Listen for the Buttons here
    //someListener(blabla);


    return START_STICKY;

}

在上面的方法之后,我按照复制粘贴插入了以下方法(在Stackoverflow上找到)

public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
    switch (keyCode) {
    case KeyEvent.KEYCODE_VOLUME_UP:
        if (action == KeyEvent.ACTION_DOWN) {
            //TODO
        }
        return true;
    case KeyEvent.KEYCODE_VOLUME_DOWN:
        if (action == KeyEvent.ACTION_DOWN) {
            //TODO
        }
        return true;
    default:
        return super.dispatchKeyEvent(event);
    }
}

我无法测试代码,因为Eclipse说,在默认情况下: "方法dispatchKeyEvent(KeyEvent)未定义类型Service"

有什么建议吗?

由于

0 个答案:

没有答案