2015-04-02 22 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

相關問題