MediaMonkey for Android dev docs

From MediaMonkey Wiki
Jump to navigation Jump to search

MediaMonkey for Android Development Documentation

This page contains information for developers who wish to interface with MediaMonkey for Android.


Intents

MMA has a broadcast receiver to listen for intents from external apps/remote devices.

Intents must have Intent.ACTION_MEDIA_BUTTON or com.ventismedia.android.mediamonkey.MEDIA_BUTTON_ACTION action and external data Intent.EXTRA_KEY_EVENT.
Note that Intent.ACTION_MEDIA_BUTTON is a common action which is also received by other players and it's therefore important which player receives it as first. Alternatively, the com.ventismedia.android.mediamonkey.MEDIA_BUTTON_ACTION action is received only by MMA, and it's usage is the same as for Intent.ACTION_MEDIA_BUTTON (Implemented since 1.1.3.0468).


MMA will respond on these key codes:

KeyEvent.KEYCODE_HEADSETHOOK
KeyEvent.KEYCODE_MEDIA_PLAY
KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE
KeyEvent.KEYCODE_MEDIA_PAUSE
KeyEvent.KEYCODE_MEDIA_NEXT
KeyEvent.KEYCODE_MEDIA_PREVIOUS
KeyEvent.KEYCODE_MEDIA_FAST_FORWARD
KeyEvent.KEYCODE_MEDIA_REWIND:
KeyEvent.KEYCODE_MEDIA_STOP:


Examples of use:

Intent intent = new Intent();
intent.setAction("android.intent.action.MEDIA_BUTTON");
intent.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));

getActivity().sendOrderedBroadcast(intent, null);

intent = new Intent();
intent.setAction("android.intent.action.MEDIA_BUTTON");
intent.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));

getActivity().sendOrderedBroadcast(intent, null);

Attention: Broadcast should be ordered.