2016-05-30 2 views
0

私は、TVデバイスがスリープ状態にならないように、WAKELOCKを使用するAndroid TVとAmazon Fire TVアプリを製作しています。私がしなければならないことは、スクリーンが消されたときにWAKELOCKをリリースすることです。誰かがテレビの電源ボタンを押すと、この場合、テレビの電源は切られていますが、Amazon Fire TVスティックなどはアクティブのままです。画面がオフのときにWAKELOCKを解放する

その後、テレビの電源を入れたときにWAKELOCKを再追加する必要があります。これを処理するために受け入れられるベストプラクティスは何ですか?

答えて

2

EDIT:コメントごと私は最も効果的な方法でこのレスポンスを更新しています。一言で言えば

次の2つの方法でこれを達成することができます

  1. チェックをHDMIが切断された場合、オーディオチャンネルがうるさいとなった場合
  2. チェックを(主に携帯電話上で動作し、テレビのために読み続けます)。 「あなたは、あなたのアプリがあなたが登録できるためACTION_AUDIO_BECOMING_NOISYの意図を、処理することにより、このような状況での音楽の再生を停止確保することができます

:Androidのドキュメント(https://developer.android.com/guide/topics/media/mediaplayer.html#noisyintent)あたりとしては、次の(変化)のような何かを行うことができますマニフェストに以下を追加することにより、受信機:。

<receiver android:name=".MusicIntentReceiver"> 
    <intent-filter> 
     <action android:name="android.media.AUDIO_BECOMING_NOISY" /> 
    </intent-filter> 
</receiver> 

これは、その意図のための放送受信機としてMusicIntentReceiverクラスを登録します。次に、このクラスを実装する必要があります。

public class MusicIntentReceiver extends android.content.BroadcastReceiver { 
     @Override 
     public void onReceive(Context ctx, Intent intent) { 
      if (intent.getAction().equals(
         android.media.AudioManager.ACTION_AUDIO_BECOMING_NOISY)) { 
       // signal your service to stop playback 
       // (via an Intent, for instance) 
      } 
     } 
    } 
+0

両方の方法をテストした後、Amazon Developersフォーラムでいくつかの掘り下げを行ったところ、あなたはAUDIO_BECOMING_NOISYの解決策であるようです。 HDMIのものは、ケーブルが実際に接続されているかどうかだけを検出します。これは、電話には良いがTVアプリケーションには悪いです。常に接続されているからです。 – jskrwyk

関連する問題