繁体   English   中英

屏幕关闭时释放WAKELOCK

[英]Release WAKELOCK when screen is off

我正在制作一个使用WAKELOCK防止电视设备进入睡眠状态的Android TV和Amazon Fire TV应用程序。 我要做的是在屏幕关闭时(例如,当有人按下电视上的电源按钮时)松开WAKELOCK,因为在这种情况下,即使电视已关闭,Amazon Fire TV Stick等仍保持活动状态。

然后,我需要在电视开机时重新添加WAKELOCK。 处理此问题的公认最佳实践是什么?

编辑:根据评论,我正在用最有效的方法更新此响应。

简而言之,您可以通过两种方式实现这一目标:

  1. 检查HDMI是否断开连接(主要在手机上使用,请继续看电视)
  2. 检查音频通道是否嘈杂。 根据Android文档( https://developer.android.com/guide/topics/media/mediaplayer.html#noisyintent ),您可以执行以下操作(更改为):

“您可以通过处理ACTION_AUDIO_BECOMING_NOISY意图来确保您的应用在这些情况下停止播放音乐,为此您可以通过在清单中添加以下内容来注册接收者:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM