我的活动中有一个VideoView,我只将其用作背景,并在循环模式下播放视频。
屏幕不会自动进入睡眠模式。我尝试手动计算自上次用户交互以来的秒数,但我仍然无法强制屏幕关闭。
我已经尝试过PowerManager,获取了锁和goToSleep()函数,但我仍然无法关闭屏幕。
答案 0 :(得分:9)
我知道这是一个古老的问题,但我认为无论如何我都会写一个答案,因为此页面出现在Google搜索中。
我使用此代码解决了同样的问题:
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setScreenOnWhilePlaying(false);
}
});
答案 1 :(得分:0)
试试这个:
DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
mDPM.lockNow();
这将锁定您的手机(与按下电源/锁定按钮相同),从而关闭屏幕。
答案 2 :(得分:0)
我使用此代码解决了同样的问题:
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setScreenOnWhilePlaying(true);
}
});
答案 3 :(得分:0)
已解决,在onCreate()中的setContentView()之后添加一行代码
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flag);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
在片段中
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
答案 4 :(得分:0)
我遇到了同样的问题。以下代码解决了我的问题。希望它能对您有所帮助。
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setScreenOnWhilePlaying(false);
}
});