2015-04-02 19 views
0

我正在处理一个项目,我想要处理长按蓝牙设备上的播放按钮。 现在它正在为单击而工作。处理长按媒体按钮在蓝牙设备上播放/暂停

公共无效的onReceive(上下文范围内,意图意图){

String intentAction = intent.getAction(); 
    if (!Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) { 
     return; 
    } 
    KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); 
    if (event == null) { 
     return; 
    } 

    int action = event.getAction(); 
    if (event.getKeyCode() == 126 || event.getKeyCode() == 127) { 
     // do something 
     if (action == KeyEvent.ACTION_DOWN) { 

      Toast.makeText(context,"BUTTON PRESSED!", Toast.LENGTH_LONG).show(); 

      if(event.isLongPress()==true) 
      { 
       Toast.makeText(context,"Finally long press worked!!", Toast.LENGTH_LONG).show(); 

      } 


     } 


    } 
} 

方法isLongPress()始终返回false。 请让我修改一下这个程序的工作。 在此先感谢:)

回答

0

检查您的BT设备的说明。长按头戴式耳机通话键通常意味着拒绝来电。我不确定在AVRCP中是否定义了longpress Play键。

+0

这是一个用于应答/拒绝来电的不同按钮 – user2606335 2015-04-02 12:13:00

+0

1.为什么键码126或127? MEDIA_PLAY的关键代码是200,请参阅http://androidxref.com/5.1.0_r1/xref/frameworks/base/data/keyboards/AVRCP.kl#17。 2.我不确定longpress是否支持AVRCP中的密钥。你可以尝试一下。 – 2015-04-03 08:28:35

+0

我很确定这个数字是126.因为我有一个常用的按钮来播放和暂停,我还必须考虑127(暂停)。你知道isLongPress()是在这里使用的正确方法吗? – user2606335 2015-04-04 10:12:00

相关问题