Android 11 webview webrtc无法使用问题
问题:Android 11 webview 调用webrtc无法使用, 看logcat日志会报如下错误
[ERROR:address_tracker_linux.cc(245)] Could not send NETLINK request: Permission denied (13)
查了下相关的网络权限都有配置了还是不行,还是报这个权限问题
原因:跟 android11 限制读网卡信息有关系, 算webview的一个兼容bug
https://developer.android.com/about/versions/11/privacy/mac-address
解决:
方案一: 可以修改app 的targetSdkVersion小于30
方案二:发现第一次发起连接失败后再连接就正常了,所以在正式连接之前发起一次连接
async function connect() {if (getAndroidVersion() === 11) {await this.fixAndroid({iceServers,iceCandidatePoolSize: 1, // 这里要设置1, 不设1也连不上,不知道为什么})}// 发起正式连接// let peer = new RTCPeerConnection(turn);// ......}function getAndroidVersion() {// 获取设备信息const deviceInfo = navigator.userAgent;// 解析设备信息const androidVersion = deviceInfo.match(/Android ([\d.]+)/);if (androidVersion && androidVersion!.length === 2) {return Number(androidVersion![1])}// 返回系统版本号return null;
};async fixAndroid(turn: any) {console.log("fixing android webrtc bug");return new Promise(async (resolve, reject) => {try {let peer = new RTCPeerConnection(turn);let offer = await peer.createOffer({offerToReceiveAudio: true,offerToReceiveVideo: true})let rtcDesc = new RTCSessionDescription(offer);await peer.setLocalDescription(rtcDesc);setTimeout(()=> {peer.close()console.log("fixAndroid close")resolve()}, 1000)} catch (e) {resolve()console.error("fixAndroid", e)}})}
参考:
- https://stackoverflow.com/questions/70803796/ice-candidates-not-generating-on-android-11-chrome-in-some-devices
- https://issues.chromium.org/issues/40194180
相关文章:
Android 11 webview webrtc无法使用问题
问题:Android 11 webview 调用webrtc无法使用, 看logcat日志会报如下错误 [ERROR:address_tracker_linux.cc(245)] Could not send NETLINK request: Permission denied (13) 查了下相关的网络权限都有配置了还是不行,还是报这个权限问题 原因࿱…...
嵌入式单片机中晶振的工作原理
晶振在单片机中是必不可少的元器件,只要用到CPU的地方就必定有晶振的存在,那么晶振是如何工作的呢? 什么是晶振 晶振一般指晶体振荡器,晶体振荡器是指从一块石英晶体上按一定方位角切下的薄片,简称为晶片。 石英晶体谐…...
AWS配置内网EC2服务器上网【图形化配置】
第一种方法:创建EC2选择启用分配公网ip 1. 创建vpc 2. 创建子网 3. 创建互联网网关 创建互联网网关 创建互联网网关 ,设置名称即可 然后给网关附加到新建的vpc即可 4. 给新建子网添加路由规则,添加新建的互联网网关然后点击保存更改 5. 新建…...
Android中的MVVM
演变 开发常用的框架包括MVC、MVP和本文的MVVM,三种框架都是为了分离ui界面和处理逻辑而出现的框架模式。mvp、mvvm都由mvc演化而来,他们不属于某种语言的框架,当存在ui页面和逻辑代码时,我们就可以使用这三种模式。 model和vie…...
制作耳机壳的UV树脂和塑料材质相比劣势有哪些?
以下是UV树脂相比塑料材质可能存在的劣势: 价格较高:相比一些常见的塑料材质,UV树脂的价格可能较高。这主要是因为UV树脂的生产过程较为复杂,需要较高的技术和设备支持。加工难度大:虽然UV树脂的加工过程相对简单&…...
CSP-202012-1-期末预测之安全指数
CSP-202012-1-期末预测之安全指数 题目很简单,直接上代码 #include <iostream> using namespace std; int main() {int n, sum 0;cin >> n;for (int i 0; i < n; i){int w, score;cin >> w >> score;sum w * score;}if (sum > 0…...
Doris中的本地routineload环境,用于开发回归测试用例
----------------2024-2-6-更新-------------- doris的routineload,就是从kafka中加载数据到表,特点是定时、周期性的从kafka取数据。 要想在本地开发测试routine load相关功能,需要配置kafka环境,尤其是需要增加routine load回…...
【开源项目阅读】Java爬虫抓取豆瓣图书信息
原项目链接 Java爬虫抓取豆瓣图书信息 本地运行 运行过程 另建项目,把四个源代码文件拷贝到自己的包下面 在代码爆红处按ALTENTER自动导入maven依赖 直接运行Main.main方法,启动项目 运行结果 在本地磁盘上生成三个xml文件 其中的内容即位爬取…...
基于opencv-python模板匹配的银行卡号识别(附源码)
目录 介绍 数字模板处理 银行卡图片处理 导入数字模板 模板匹配及结果 介绍 我们有若干个银行卡图片和一个数字模板图片,如下图 我们的目的就是通过对银行卡图片进行一系列图像操作使得我们可以用这个数字模板检测出银行卡号。 数字模板处理 首先我们先对数…...
JAVA设计模式之建造者模式详解
建造者模式 1 建造者模式介绍 建造者模式 (builder pattern), 也被称为生成器模式 , 是一种创建型设计模式. 定义: 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 **建造者模式要解决的问题 ** 建造者模式可以将部件和其组装过程分开…...
ElasticSearch查询语句用法
查询用法包括:match、match_phrase、multi_match、query_string、term 1.match 1.1 不同字段权重 如果需要为不同字段设置不同权重,可以考虑使用bool查询的should子句来组合多个match查询,并为每个match查询设置不同的权重 {"query&…...
美国服务器如何
美国服务器在被选择名单里排名很高,那么美国服务器如何,美国服务器 适用于哪些场景,认可度高吗?接下来小编为您整理发布美国服务器如何的详细情况。 美国服务器通常以其高性能、高可靠性和安全性而受到认可,它们适用于多种业务场…...
远程主机可能不符合glibc和libstdc++ VS Code服务器的先决条件
报错信息 VSCode无法连接远程服务器,终端一直提醒: [22:46:01.906] > Waiting for server log... [22:46:01.936] > Waiting for server log... [22:46:01.951] > [22:46:01.967] > Waiting for server log... [22:46:01.982] > [22:…...
【python基础】sys.argv[]的使用方法
文章目录 前言一、sys.argv是什么?二、实例 前言 本文主要讲解sys.argv[]的使用方法。 一、sys.argv是什么? sys.arg[]的作用就是存储在运行python脚本时候从外部往被运行的py文件里面传递的参数,是一个列表对象。利用好这个属性可以极大的增…...
Element-Ui el-date-picker日期传值异常问题解决办法
首先,只要非常简单的组件引入写法: 然后myDate在data()中是字符串类型 myDate: ‘’ 然后增加一个方法在提交表单到后台的时候,用来转化日期对应到myDate成字符串类型,并且对应到java类 function checkType(value) {if (typeo…...
GO语言集成开发 JetBrains GoLand 2023 中文
JetBrains GoLand 2023是一款专为Go语言开发者打造的集成开发环境(IDE)。它基于IntelliJ IDEA平台,提供了丰富的功能和工具,旨在提高开发效率和质量。GoLand 2023具备强大的Go语言支持,包括语法高亮、自动补全、代码提…...
详细关于如何解决mfc140.dll丢失的步骤,有效修复mfc140.dll文件丢失的问题。
mfc140.dll文件是Microsoft Visual Studio 2015程序集之一,它包含用于支持多种功能的代码和库。当这个mfc140.dll文件丢失时,可能会导致相关程序运行出错甚至无法运行。很多用户可能会遇到mfc140.dll丢失的问题,但是这并不是不可解决的困难。…...
聚簇索引、非聚簇索引、回表、索引下推、覆盖索引
聚簇索引(主键索引) 非叶子节点上存储的是索引值,叶子节点上存储的是整行记录。 非聚簇索引(非主键索引、二级索引) 非叶子节点上存储的都是索引值,叶子节点上存储的是主键的值。非聚簇索引需要回表&…...
ES实战-book笔记1
#索引一个文档,-XPUT手动创建索引, curl -XPUT localhost:9200/get-together/_doc/1?pretty -H Content-Type: application/json -d {"name": "Elasticsearch Denver","organizer": "Lee" } #返回结果 {"_index" : "g…...
高防服务器出租的优势及特点
高防服务器出租是指租用具备高防御能力的服务器,用于应对网络攻击、保护网站和数据安全。那么为什么会选择高防服务器出租,小编为您整理发布高防服务器出租的优势及特点。 高防服务器通常具备以下特点: 1. 高性能硬件配置:高防服务…...
Escrcpy终极指南:5分钟掌握Android设备图形化控制与屏幕镜像
Escrcpy终极指南:5分钟掌握Android设备图形化控制与屏幕镜像 【免费下载链接】escrcpy 📱 Display and control your Android device graphically with scrcpy. 项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy 你是否曾经为在电脑上控…...
网安实战|DVWA中级DOM型XSS渗透测试全解,手把手教你绕过过滤拿下漏洞!
大家好,我是专注网安实战分享的博主,今天带大家深度拆解DVWA中级安全级别DOM型XSS渗透测试全过程!DOM型XSS作为跨站脚本漏洞里的经典类型,和反射型、存储型有着本质区别,它的漏洞触发不经过服务器端解析,而…...
FFmpeg Batch AV Converter 实战指南:告别命令行,拥抱高效视频批量处理
FFmpeg Batch AV Converter 实战指南:告别命令行,拥抱高效视频批量处理 【免费下载链接】ffmpeg_batch FFmpeg Batch AV Converter 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpeg_batch FFmpeg Batch AV Converter是一款强大的图形界面视频…...
2026年最新推荐 很多一线老师都在用的英语作文批改工具
行业共性痛点拆解我们团队做英语教育技术落地5年,接触过全国上千位初高中英语老师,发现作文批改是大家公认的效率洼地。人工批改模式下,一个45人班的作文,每篇要改语法、逻辑、表达、扣题四个维度,最少花3分钟…...
Slide离线阅读功能详解:随时随地浏览Reddit内容的完整教程
Slide离线阅读功能详解:随时随地浏览Reddit内容的完整教程 【免费下载链接】Slide Slide is an open-source, ad-free Reddit browser for Android. 项目地址: https://gitcode.com/gh_mirrors/sl/Slide 你是否经常在地铁、飞机或网络信号不佳的地方想要浏览…...
RimWorld模组管理终极指南:3步掌握RimSort智能排序,告别游戏崩溃烦恼
RimWorld模组管理终极指南:3步掌握RimSort智能排序,告别游戏崩溃烦恼 【免费下载链接】RimSort RimSort is an open source mod manager for the video game RimWorld. There is support for Linux, Mac, and Windows, built from the ground up to be a…...
设计饮用水水质饮用习惯监测程序,统计每日饮水量,提醒科学补水养成健康习惯。
饮用水水质与饮水习惯监测程序——基于日志与规则的健康行为实验系统一、实际应用场景描述在现代城市生活中,很多人存在以下问题:- 不清楚自己每天喝了多少水- 饮水时间集中在晚上或运动后- 长期饮水不足或过量- 对水质来源缺乏基本记录意识本项目的目标…...
RedisDesktopManager Windows版:终极免费Redis数据库可视化工具完全指南
RedisDesktopManager Windows版:终极免费Redis数据库可视化工具完全指南 【免费下载链接】RedisDesktopManager-Windows RedisDesktopManager Windows版本 项目地址: https://gitcode.com/gh_mirrors/re/RedisDesktopManager-Windows RedisDesktopManager Wi…...
VMware 17 开机自启实战:从配置到故障排查的完整指南
1. VMware 17开机自启基础配置 很多运维工程师在生产环境中都会遇到这样的需求:让VMware虚拟机像系统服务一样随宿主机自动启动。这个功能对于无人值守的服务器、工控机等场景特别重要。下面我就以VMware Workstation 17为例,手把手教你配置全过程。 首…...
车间管理越管越乱?找准根源+避坑,跳出管理内耗
很多车间管理者都深陷这样的困境:每天忙得脚不沾地,盯进度、查卫生、处理各类现场异常,耗尽心力却收效甚微,车间反而越管越乱——物料堆放杂乱无章、工序衔接频频脱节、员工操作随心所欲、设备故障时有发生,产能上不去…...
