网站建设定位,wordpress换域名媒体库不显示图片,网站建设费记账,做矢量图的网站FLutter 视频播放#xff1a; 目前在做FLutter种的视频播放功能#xff0c;遇到了视频播放的时候#xff0c;屏幕突然黑屏了。网上找了很多#xff0c;无论是设置在原生的Activity界面#xff0c;添加如下代码#xff0c; getWindow().addFlags(WindowManager.LayoutPara…FLutter 视频播放 目前在做FLutter种的视频播放功能遇到了视频播放的时候屏幕突然黑屏了。网上找了很多无论是设置在原生的Activity界面添加如下代码 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 还是在xml中设置 android:keepScreenOntrue都无效。甚至在Fragment中的onCreateView方法中加入代码 Activity activity getActivity();if (activity ! null) {activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);activity.setTurnScreenOn(true);}又或者在任意一个View中加入如下代码
mView.setKeepScreenOn(true);都无效。 后来在FLutter种加入wakelock 插件 wakelock: ^0.6.2在 initState 调用
Wakelock.enable();在 dispose 调用
Wakelock.disable();也无效。 其实仔细查看Wakelock插件的源代码发下这个插件保持屏幕常亮的方法也是调用
Activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 和
Activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 原因分析
以上的处理都不是fijkplayer当前的View所以不起作用。 解决方案
查看fijkplayer的FLutter源代码以及原生的源代码发现有一个叫做 FijkPlugin 的插件类里面支持 有一个 setScreenOn 的方法支持屏幕常亮。但是FijkPlayer的方法里面没有这个时候我们调用 FijkPlugin 的方法接着就屏幕常亮了。 FijkPlugin.keepScreenOn( true ) ;记得在dispose方法中调用 FijkPlugin.keepScreenOn( false ) ;完毕