Android 14.0 framework去掉长按webview界面弹框中的打开字符串

1.概述

在14.0系统Rom定制化开发中,在app中进入网页WebView控件加载网页后,长按网页会弹出分享和打开等等字样,但是产品需要觉得不想要这些选项 所以要求去掉这些选项所以就要
从WebView控件开始寻找相关的代码,所以要求去掉这些选项,接下来就分析下相关的流程来实现功能

2. framework去掉长按webview界面弹框中的打开字符串的核心类

frameworks/base/core/java/com/android/internal/widget/floatingtoolbar/FloatingToolbar.java

3. framework去掉长按webview界面弹框中的打开字符串的核心功能分析和实现

FloatingToolbar,这是一个由FloatingActionButton变成一个工具栏的Android UI 控件。动画效果优雅,遵循Material Design风格,
在系统内置的浏览器中相关源码中,通过相关的搜索没发现有分享 打开等相关的资源文件,所以就想在WebView等相关控件中查找相关的资源而
在系统的WebView控件中,也并没有发现分享的文字,于是就只能用Android Studio中,通过 Tools 下的Layout Inspector等开发工具
来寻找相关的布局文件,结果通过这个Android Studio中,通过 Tools 下的Layout Inspector等开发工具终于找到FloatingToolbar 字样
于是就全局搜索FloatingToolbar 查看它的布局
接下来就来看源码分析问题,从中来解决相关的问题

    public final class FloatingToolbar {/

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

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

相关文章

第四十五周:文献阅读

目录 摘要 Abstract 文献阅读:基于注意力的双向LSTM和编码器-解码器的水质预测 现有问题 提出方法 创新点 方法论 1、EMD(经验模态分解) 2、VMD(变分模态分解) 3、VBAED模型 研究实验 数据集 数据预处理 …

力扣15. 三数之和

思路:先对数组排序,然后确定第一个数nums[i],再新建左右双指针; 寻找的3元组,a,b,c,即是 nums[i], nums[letf], nums[right] 数组1:-1,-1,-1,0,1,2; 前面3个-1,只有一个-1是有用的,需…

Android开发系列全套课程

教程介绍 本系列课程面向有java基础,想进入企业从事android开发的计算机专业者。学习搭配实战案例,高效掌握岗位知识。 学习地址 链接:https://pan.baidu.com/s/10p2NGYLM3NcCZwYjJZzfzw?pwdk4p0 提取码:k4p0

【智能算法】JAYA算法原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2016年, Rao等人受到趋利避害性质启发,提出了JAYA算法(JAYA梵文意思即胜利)。 2.算法原理 2.1算法思想 JAYA基于趋利避害性质,表达式十…

Django ORM操作

【一】ORM操作 【1】配置数据库 (1)默认数据库 Django默认的数据库是sqlite3数据库settings.py 文件中配置数据库如下 DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: BASE_DIR / db.sqlite3,} }(2)修改为M…

Markdown的基本撰写和格式语法

基本撰写和格式语法 使用简单的语法在 GitHub 上为您的散文和代码创建复杂的格式。 本文内容 标题 文本样式 引用文本 引用代码 支持的颜色模型 链接 章节链接 relative links (相对链接) 图像 列表 任务列表 提及人员和团队 引用议题和拉取请求 引用外部资源 上传资产 使用表情…

15 UART回环

UART 串口简介 常用的通信方式可分为为串行通信(serial communication)和并行通信(parallel communication)两种。并行通信是多比特数据同时通过并行线进行传送(一般以字或字节为单位并行进行传输)&#x…

什么是Linux?它与其他操作系统有何区别?

什么是Linux?它与其他操作系统有何区别? 什么是Linux?它与其他操作系统有何区别?摘要引言正文内容了解LinuxLinux与其他操作系统的区别开放性多样性安全性 🤔 QA环节小结 参考资料表格总结总结未来展望 博主 默语带您 …

DBO优化GRNN回归预测(matlab代码)

DBO-GRNN回归预测matlab代码 蜣螂优化算法(Dung Beetle Optimizer, DBO)是一种新型的群智能优化算法,在2022年底提出,主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。 数据为Excel股票预测数据。 数据集划分为训练集、验证集、测试集,比例…

如何使用OpenCV扫描图像、查找表和时间测量

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9.0开源计算机视觉库核心功能(核心模块) ​ 编辑 目标 我们将寻求以下问题的答案: 如何浏览图像的每个像素?OpenCV 矩…

【C++】如何用一个哈希表同时封装出unordered_set与unordered_map

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.哈希桶源码 2.哈希…

分割数组的两种解法:动态规划、二分法

410. 分割数组的最大值 1. 动态规划 「将数组分割为 m 段,求……」是动态规划题目常见的问法 理清状态转移方程比较难,因此不推荐用动态规划解题。 2. 贪心 二分法 「使……最大值尽可能小」是二分搜索题目常见的问法。 本题中,我们注意…

数据库管理开发工具Navicat for MySQL Mac版下载

Navicat for MySQL(Mac版)是一款强大的数据库管理开发工具,专为MySQL设计。它提供直观的用户界面,支持数据建模、查询构建、数据传输等功能,帮助用户轻松管理数据库。其特点包括高效的数据处理能力、安全的数据传输机制…

算法---前缀和练习-1(除自身以外数组的乘积)

除自身以外数组的乘积 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址:点这里 2. 讲解算法原理 首先,创建两个辅助数组 f 和 g,它们的长度与 nums 相同。数组 f 用于存储每个元素左侧所有元素的乘积,数组 g 用于存…

SpringCloud-Nacos注册中心

服务注册到nacos Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。 主要差异在于: 依赖不同服务地址不同 1. 引入依赖…

sql中如何添加数据常用方法和操作手册

在SQL中,添加数据完整性通常涉及使用数据库的约束和规则来确保数据的质量和一致性。以下是一些在SQL中实现数据完整性的常用方法和操作手册: 1、定义数据类型: 在创建表时,为每个列定义合适的数据类型。这可以确保插入的数据符合预期的数据类…

1.7 Python 3和Python 2的区别

Python版本区别,Python 3和Python 2区别详解 ​ Python 版本分为两大流派,一个是 Python 2.x 版本,另外一个是 Python 3.x 版本,Python 官方同时提供了对这两个版本的支持和维护。 ​ 2020 年 1 月 1 日,Python 官方…

微信小程序图片资源优化实践

在开发微信小程序时,如何合理管理和优化图片资源是一个需要重点关注的问题。过大的图片包会导致小程序包体积过大,影响用户的下载和启动体验。因此,我们需要采取一系列措施来优化图片资源的使用。 1、合理选择图片存储位置 不建议将图片直接打包在小程序包中,这样会增加包的大…

XML Data – Semi-Structured Data XML 数据 - 半结构化数据

Outline • Structured, Semistructured, and Unstructured Data • XML Hierarchical (Tree) Data Model • Extracting XML Documents from Relational Databases • XML Documents, DTD, and XML Schema • XML Languages 结构化、半结构化和非结构化数据 - XML 层次&#x…

$.when.apply($, deferreds).done(function() {}) 用法

$.when.apply($, deferreds).done(function() {}) 这行代码是 jQuery 中用于处理多个异步操作的一种模式。让我们逐步解释其用法: $.when(): 这是 jQuery 中的一个方法,用于创建一个新的 Deferred(延迟)对象。Deferred 对象用于管…