Sidhanth Sur
Sidhanth Sur

Reputation: 303

Amazon fire remote affecting background process

I have a media application for the Amazon Fire tv and tv stick. I have successfully captured the buttons and have customized the events accordingly. Issue arises in the case when some other media app such as pandora is running in the background. When I fastforward,rewind etc in my app , even pandora gets changed in the process.Amazon has declined the app for the same reason.How do I get to set the focus of the remote in the current app only. The following is my code for remote

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event){

    boolean handled = false;
    switch (keyCode){
        case KeyEvent.KEYCODE_DPAD_CENTER:
        case KeyEvent.KEYCODE_DPAD_LEFT:
            mPlayerView.seek((int)mPlayerView.getPosition()-3000);
            handled = true;
            break;
        case KeyEvent.KEYCODE_DPAD_RIGHT:
            Log.e("right","pressed");
            mPlayerView.seek((int)mPlayerView.getPosition()+3000);
            handled = true;
            break;
        case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
            mPlayerView.seek((int)mPlayerView.getPosition()+60000);
            handled=true;
            break;
        case KeyEvent.KEYCODE_MEDIA_REWIND:
            mPlayerView.seek((int)mPlayerView.getPosition()-60000);
            handled=true;
            break;
        case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
            mPlayerView.play();
            handled=true;
            break;
        case KeyEvent.KEYCODE_MENU:
            subtitle=!subtitle;
            if(subsexists){
            if(subtitle) {
                mPlayerView.setCurrentCaptions(1);
                Toast.makeText(this,"Subtitles ON",Toast.LENGTH_LONG).show();
            }
            else {
                mPlayerView.setCurrentCaptions(0);
                Toast.makeText(this,"Subtitles OFF",Toast.LENGTH_LONG).show();
            }
            }
            handled=true;
            break;
    }
    return handled || super.onKeyDown(keyCode, event);
}

Upvotes: 2

Views: 329

Answers (1)

Offbeatmammal
Offbeatmammal

Reputation: 8226

See this section of the FireTV Developer FAQ. Specifically you need to implement code to:

you also need to make sure that you gracefully give up control as well if another media player app has the users attention

Upvotes: 2

Related Questions