2015-12-29 68 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

謝謝你。立即試用:) –