2015-12-29 30 views
1

我有一个亚马逊Fire电视和电视棒的媒体应用程序。我已成功捕获按钮并相应地定制了事件。 问题出现在某些其他媒体应用程序(如pandora)正在后台运行的情况下。当我在应用程序中快速前进,后退等时,即使是潘多拉盒子也会在该过程中发生变化.Amazon出于同样的原因拒绝了该应用程序。我如何才能在当前应用程序中设置遥控器的焦点。 以下是我的远程亚马逊火灾远程影响后台进程

@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); 
} 

回答

1

代码见this section of the FireTV Developer FAQ。具体需要实现代码:

你还需要确保你优雅地放弃控制权,以及如果其他媒体播放器应用程序有用户关注度

+0

我读这注销的多媒体按键,但认为它是谁希望自己的应用程序在后台运行的人。我是一个电影流媒体应用程序不关心它在用户退出时处理背景音频。问题是我的远程事件在后台控制其他媒体应用程序,因为他们实现了音频管理器 –

+0

如果您想要控制音频(和远程)体验,那么您需要告诉Pandora(或任何当前有焦点的人)放弃控制。如果您不告诉潘多拉您正在收听远程事件并提供音频,那么他们将继续响应。 – Offbeatmammal

+0

谢谢你。立即试用:) –