谷歌 I/O 2023:新的 Android Web 功能
谷歌 I/O 2023 介绍了不同的在 Android 应用中嵌入 Web 内容的方式,同时展示了 Android 2023 的新 Web 功能:
WebView 改动
WebView 是将 Web 内容嵌入到 Android 应用中最常用的方式,最大优势之一是其强大的 API,可用于控制和修改正在加载的 Web 内容。 WebView 的新功能如下:
弃用 X-Requested-With 标头
当用户安装并运行使用 WebView 嵌入 Web 内容的应用程序时,WebView 会将 X-Requested-With 标头添加到发送到服务器的每个请求中。此标头的值是应用程序的 APK 名称,意味着每个请求都包含有关用户正在使用 Web 内容的上下文的特定信息,并将应用程序的身份泄露给在线服务。
为了保护用户隐私,WebView 团队从所有 WebView 请求中删除了 X-Requested-With 标头。推荐的代替方法是使用新的opt-in API ,可选择性地将请求标头发送到特定来源。如果想保留现有行为,还可以注册 X-Requested-With Deprecation源试用。
WebSettingsCompat.setRequestedWithHeaderOriginAllowList( demoWebview.getSettings(), Collections.singleton("https://example.com") );
WebView testing
WebView 现在支持 Chrome origin trials ,origin trials 版本允许访问 Chrome 中的新功能或实验性功能。目前 origin trials 只能在桌面和移动 Chrome 上使用,但从 Chrome M110 开始,origin trials 也可以在 WebView 上使用。
安装 WebView Beta 变得更容易,可以加入 Google Play 中的 WebView Beta 测试计划,设备将自动注册。
大屏幕设备支持
WebView 现在支持图像拖放。例如,在分屏视图模式下可以将图像从 WebView 拖到不同的应用程序中。
将拖放添加到 WebView 非常容易:只需在 AndroidManifest 中声明一个 DropDataProvider。
<application...> ... <provider android:authorities="com.example.webviewdemo.DropDataProvider" android:name="androidx.webkit.DropDataContentProvider" android:exported="false" android:grantUriPermissions="true"/> </application>
此外,Android U 上的 Chrome 和 WebView 将全面支持 HTML 输入字段中的手写,以及用于删除文本或添加空格的输入手势。对于使用 Android T 的其他设备,也可以在开发者选项下启用 HTML 输入手写。
Jetpack JavaScript 引擎
有时可能需要在程序中运行 JavaScript 而不显示任何 Web 内容;例如跨 Web 和移动应用程序共享业务逻辑时。为了使种操作更简易,谷歌去年推出了新的 JetPack JavaScript 引擎的 alpha 版本。该库使用 Chrome 的 JavaScript 引擎 V8,让应用程序无需创建 WebView 实例即可评估 JavaScript 或 WebAssembly 代码。
Jetpack 在不同的进程中执行 JavaScript 代码,使其成为在应用程序中运行 JavaScript 的安全稳定方式,需要的资源也比 WebView 实例更少。
ListenableFuture<JavaScriptSandbox> jsSandboxFuture = JavaScriptSandbox.createConnectedInstanceAsync(JavaScriptEngineActivity.this); JavaScriptIsolate jsIsolate = jsSandboxFuture.get().createIsolate(); final String code = "function sum(a, b) { let r = a + b; return r.toString(); }; sum(3, 4)"; ListenableFuture<String> resultFuture = jsIsolate.evaluateJavaScriptAsync(code); …
Trusted Web Activity
将 Web 引入 Android 的另一种方法是使用 Trusted Web Activity (TWA)。通过使用 TWA,可以将可安装的 Web 应用程序发布到 Google Play,也可以在网络上构建一个活动,然后将其包含在 Android 应用程序中。
Trusted Web Activity 由用户的默认浏览器提供支持,浏览/交互体验和在浏览器中一模一样,除了 TWA 在 app 中全屏运行,且不显示 URL 栏。TWA 也支持设备默认浏览器的所有 Web 平台功能和 API。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
WebVM —— Web 虚拟机
WebVM是一个在浏览器中运行的 Linux 虚拟机。 WebVM 是一个无服务器的虚拟环境,完全运行在 HTML5/WebAssembly 客户端中,旨在与 Linux ABI 兼容。它运行未经修改的 Debian 发行版,包括许多本地开发工具链。 WebVM 由 CheerpX 虚拟化引擎提供支持,并支持在任何浏览器上安全、沙盒化的客户端执行 x86 二进制文件。CheerpX 包括一个 x86-to-WebAssembly JIT 编译器、一个基于虚拟块的文件系统和一个 Linux 系统调用模拟器。 一般用法 访问https://webvm.io 使用提供的终端环境 玩得开心! 启用网络 访问https://webvm.io 点击右上角的“Tailscale Login” 登录 Tailscale(如果没有,请创建一个帐户) 如果想访问公共互联网,你需要一个出口节点。请参阅此处了解如何设置。如果只想访问 Tailscale 网络中的一台机器,则不需要 根据网络速度,可能需要等待片刻才能下载 Tailscale Wasm 模块 使用 Tailscale 凭据登录 返回 WebVM ...
- 下一篇
Deluge 固件即将开源,便携式音序器、合成器和采样器
Synthstrom Audible 宣布,Deluge 固件将在 2023 年 6 月 5 日正式开源。 Deluge 是一款 grid-based 乐器,集便携式音序器、合成器和采样器于一体。它有 128 个 RGB pads,排列在一个 16 x 8 的网格中;一个内置的合成器;从 SD 卡上播放多达 12 分钟的样本;以及多达数千个音符的排序。 “在 Synthstrom,我们致力于可持续发展,并希望我们的 Deluge 能够在未来许多年内继续成为我们用户音乐之旅的中心。去年年底,我们开始用新设备中的 OLED 屏幕改造旧的 Deluge 型号。 我们的下一步规划在开发过程中花费了比以往更长的时间 —— 直到我们知道我们拥有一个充满才华的程序员社区,他们和我们一样对 Deluge 充满热情。我们知道现在是时候了 —— 是时候加速软件开发了 —— 我们要开源! 什么是开源?开源意味着我们向社区开放我们的软件代码。有能力的用户现在可以开发他们自己的 Deluge 功能,对现有代码进行改进,并为所有用户贡献一个社区版本。” Synthstrom 方面称,他们目前没有开发新版本 Del...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能