FLutter 开发中 fijkplayer设置屏幕常亮

FLutter 视频播放:

`

目前在做FLutter种的视频播放功能,遇到了视频播放的时候,屏幕突然黑屏了。网上找了很多,无论是设置在原生的Activity界面,添加如下代码,

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  

还是在xml中设置

    android:keepScreenOn="true"

都无效。甚至在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 ) ;

完毕!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/2662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机的盲人导航智能拐杖老人防丢防摔倒发短息定位

功能介绍 以STM32单片机作为主控系统; OLED液晶当前实时距离,安全距离,当前经纬度信息;超声波检测小于设置的安全距离,蜂鸣器报警提示:低于安全距离!超声波检测当前障碍物距离,GPS进…

虚幻引擎复习笔记

虚幻引擎 宏观了解 工具链:纹理,材质,模型,动画,粒子,地形,声音,光照,毛发,破碎逻辑编写:蓝图可视化脚本,虚幻CGamePlay框架 初次接…

python发送邮件yagmail库

yagmail库发送邮件简洁,代码量少 import yagmaildef send_yagmail(sender, send_password, addressee, hostsmtp.qq.com, port465):yag yagmail.SMTP(sender, send_password, host, port)img_url https://img2.baidu.com/it/u483398814,2966849709&fm253&…

基于单片机的智能空调系统的设计与实现

功能介绍 以51单片机作为主控系统;LCD1602液晶显示当前水温,定时提醒,水量变化DS18B20检测当前水体温度;水位传感器检测当前水位;继电器驱动加热片进行水温加热;定时提醒喝水,蜂鸣器报警&#x…

学习注解的使用模拟RequestMapping解析path

文章目录 前言一、代码部分总结 前言 注解在后端开发过程中提供了许多的便利,提高了代码简洁性和可读性,在应用程序中占据越来越重要的作用,很有学习的必要,接下来会通过代码来完成对类、方法、属性注解的解析。 一、代码部分 p…

LeetCode面试题02.07.链表相交

面试题02.07.链表相交 两种解题思路 面试题02.07.链表相交一、双指针二、哈希集合 一、双指针 这道题简单来说,就是求两个链表交点节点的指针 这里注意:交点不是数值相等,而是指针相等 为了方便举例,假设节点元素数值相等&…

用Python采用Modbus-Tcp的方式读取485电子水尺数据

README.TXT 2023/6/15 V1.0 实现了单个点位数据通信、数据解析、数据存储 2023/6/17 V2.0 实现了多个点位数据通信、数据解析、数据存储 2023/6/19 V2.1 完善log存储,仅保留近3天的log记录,避免不必要的存储;限制log大小,2MB。架…

数字原生时代,奥哲如何让企业都成为“原住民”?

22年前,美国教育学家马克‧普伦斯基(Marc Prensky)出版了《数字原生与数字移民》(Digital Natives, Digital Immigrants)一书,首次提出了“数字原住民”和“数字移民”两大概念,用来定义跨时代的…

法规发展与算法备案:预测未来的重要议题

随着科技的快速发展,算法逐渐成为各行各业的核心驱动力,尤其在互联网领域,算法更是被赋予了生命力,为人们提供了便利的同时,也引发了一系列问题。因此,未来法规发展对于算法备案的关注将变得尤为重要。本文…

05-Vue基础之Class 与 Style 绑定

个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习目标: 坚持每一次的学习打卡 文章…

OpenCV如何实现图像截取

import cv2img cv2.imread("image/2.png", 1) roi cv2.selectROI(img,showCrosshairTrue,fromCenterFalse) xmin,ymin,w,h roi imgROI img[ymin:yminh,xmin:xminw].copy()cv2.imshow("demo",imgROI) cv2.waitKey(0) 代码的核心就是用到了OpenCV中的函数…

leetcode_54 螺旋矩阵

1. 题目 螺旋矩阵 2. 题意 给定一个二维数组,顺时针螺旋输出其中的元素。 3. 题解 3.1 自己想的 一层一层的,关键点在于如何进入下一循环。和确定停止的位置,找停止的位置写了个函数。 用控制比特位的方式来进行控制一次顺时针循环, 还…

序列化的意义以及常见的的序列化方式

一,为什么序列化? 对象保存到文件或数据库网络编程时对象跨平台跨语言传输,也即从windows上序列化的对象可到linux上反序列化,用c#序列化的对象可以被java反序列化。RPC远程接口调用 二,常见得序列化方式…

【数据结构】_1.集合与复杂度

目录 1. 集合框架 2. 时间复杂度 2.1 时间复杂度和空间复杂度 2.2 时间复杂度的概念 2.3 大O的渐进表示法 2.3.1 精确的时间复杂度表达式 2.3.2 大O渐进表示法的三条规则 2.3.3 时间复杂度的最好、平均与最坏情况 2.4 时间复杂度计算示例 3.空间复杂度 1. 集合框架 …

字节跳动后端面试,笔试部分

var code "7022f444-ded0-477c-9afe-26812ca8e7cb" 背景 笔者在刷B站的时候,看到了一个关于面试的实录,前半段是八股文,后半段是笔试部分,感觉笔试部分的题目还是挺有意思的,特此记录一下。 笔试部分 问…

【多线程例题】顺序打印abc线程

顺序打印-进阶版 方法一:三个线程竞争同一个锁,通过count判断是否打印 方法二:三个线程同时start,分别上锁,从a开始,打印后唤醒b 三个线程分别打印A,B,C 方法一:通过co…

JavaFX中MVC例子理解

JavaFX可以让你使用GUI组件创建桌面应用程序。一个GUI应用程序执行三个任务:接受用户的输入,处理输入,并显示输出。而一个GUI应用程序包含两个 类型的代码: 领域代码。处理特定领域的数据和遵循业务规范。交互代码。处理用户输入…

【Linux】多线程(上)

本文详细介绍了多线程的常见概念 生产者消费者模型将在多线程(下)继续讲解 欢迎大家指正 提起讨论进步啊 目录 多线程的理解 线程的优点 线程的缺点: 线程的用途 线程VS进程 用户级线程库 POSIX线程库 线程创建: 线程…

springboot整合jwt

JWT介绍 JWT是JSON Web Token的缩写,即JSON Web令牌,是一种自包含令牌。 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。 JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获…

DICOM开源库兼容性问题

常见的DICOM开源库有dcmtk、fo-dicom、dcm4che3等,DICOM开源库遇到的兼容性问题类似,——dcmtk兼容性最强,fo-dicom次之,dcm4che3最差。 本人在dicom医学影像方面从事软件开发已有10几年,用过dcmtk,fo-dico…