so the interesting thing is that this works fine on a Nexus One - so
could it be related to some bluetooth profile I need to have installed
on the phone??

On Jan 25, 7:58 am, sdphil <[email protected]> wrote:
> i am trying to catch the physical button events on a motorola ht820
> bluetooth headset and it i cannot seem to trap those events.
>
> the media player on the device *is* able to catch those events.
>
> based, on what I've read and googled for, it seems like this should do
> the trick --
>
>                 rec = new BroadcastReceiver() {
>                         @Override
>                         public void onReceive(Context context, Intent intent) 
> {
>                     KeyEvent event = (KeyEvent) intent.getParcelableExtra
> (Intent.EXTRA_KEY_EVENT);
>                     if (event != null && event.getAction() ==
> KeyEvent.ACTION_DOWN) {
>                         switch (event.getKeyCode()) {
>                         case KeyEvent.KEYCODE_HEADSETHOOK:
>                         case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
>                                                 getInstance().playpause();
>                             abortBroadcast();
>                                 break;
>                         case KeyEvent.KEYCODE_MEDIA_STOP:
>                                 getInstance().stop(true);
>                                 abortBroadcast();
>                                 break;
>                         case KeyEvent.KEYCODE_MEDIA_NEXT:
>                                 getInstance().next();
>                                 abortBroadcast();
>                                 break;
>                         case KeyEvent.KEYCODE_VOLUME_UP:
>                                 AudioManager audioMgrUp = (AudioManager)
> getSystemService(Context.AUDIO_SERVICE);
>                                 audioMgrUp.adjustStreamVolume(
>                                         AudioManager.STREAM_MUSIC, 
> AudioManager.ADJUST_RAISE,
> AudioManager.FLAG_SHOW_UI);
>                                 break;
>                         case KeyEvent.KEYCODE_VOLUME_DOWN:
>                                 AudioManager audioMgrDown = (AudioManager)
> getSystemService(Context.AUDIO_SERVICE);
>                                 audioMgrDown.adjustStreamVolume(
>                                                 AudioManager.STREAM_MUSIC, 
> AudioManager.ADJUST_LOWER,
> AudioManager.FLAG_SHOW_UI);
>                                 break;
>                         }
>                     }
>                         }
>                 };
>
>         // Use a separate receiver for ACTION_MEDIA_BUTTON broadcasts,
>         // since we need to manually adjust its priority (to make sure
>         // we get these intents *before* the media player.)
>         IntentFilter intentFilter = new IntentFilter(
>                 Intent.ACTION_MEDIA_BUTTON);
>
> but it does not seem to work.
>
> Here's what I'm seeing in the logcat.
>
> any ideas?  tia.
>
> 01-25 07:39:53.338: WARN/AudioFlinger(45): write blocked for 54 msecs
> 01-25 07:39:53.388: ERROR/MediaPlaybackService(652): BadQueue
> mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
> 01-25 07:39:53.398: WARN/AudioFlinger(45): write blocked for 56 msecs
> 01-25 07:39:53.428: DEBUG/MediaButtonIntentReceiver(652): > onReceive
> <
> 01-25 07:39:53.448: INFO/BluetoothA2dpService.cpp(23187): ACVRCP :
> Remote Pannel Pressed with Channel:0
> 01-25 07:39:53.458: INFO/BluetoothA2dpService.cpp(23187): Panel
> Opcode: 0x4c
> 01-25 07:39:53.498: DEBUG/MediaButtonIntentReceiver(652): > onReceive
> <
> 01-25 07:39:53.508: VERBOSE/MediaPlaybackService(652): onStart
> 01-25 07:39:53.518: ERROR/MediaPlaybackService(652): MediaMode:Local
> 01-25 07:39:53.518: DEBUG/MediaPlaybackService(652): CMDPREVIOUS
> 01-25 07:39:53.558: ERROR/MediaPlaybackService(652): BadQueue
> mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
> 01-25 07:39:53.588: WARN/AudioFlinger(45): write blocked for 146 msecs
> 01-25 07:39:53.658: INFO/BluetoothA2dpService.cpp(23187): ACVRCP :
> Remote Pannel Released with Channel:0
> 01-25 07:39:53.668: INFO/BluetoothA2dpService.cpp(23187): Panel
> Opcode: 0x4c
> 01-25 07:39:53.698: WARN/AudioFlinger(45): write blocked for 62 msecs
> 01-25 07:39:53.738: DEBUG/MediaButtonIntentReceiver(652): > onReceive
> <
> 01-25 07:39:53.968: INFO/BluetoothA2dpService.cpp(23187): ACVRCP :
> Remote Pannel Pressed with Channel:0
> 01-25 07:39:53.978: DEBUG/MediaButtonIntentReceiver(652): > onReceive
> <
> 01-25 07:39:53.988: VERBOSE/MediaPlaybackService(652): onStart
> 01-25 07:39:53.988: ERROR/MediaPlaybackService(652): MediaMode:Local
> 01-25 07:39:53.988: DEBUG/MediaPlaybackService(652): CMDNEXT
> 01-25 07:39:53.988: DEBUG/MediaPlaybackService(652): next
> mPlayOnNextPrev=true
> 01-25 07:39:54.028: ERROR/MediaPlaybackService(652): BadQueue
> mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to