Issue id: AppLinkUrlError 应用intent-filter 配置深链接 URL 问题分析 | AndroidManifest

ops/2024/12/12 0:35:54/

AndroidManifest.xml 配置文件中,对 activity 组件进行声明的时候,独立应用在 IDE 显示 intent-filter 报错,但不影响实际编译,因为是系统应用,肯定会有此 URL 的存在。

AOSP 源码:

        <activity android:name="Settings$ApnEditorActivity"android:configChanges="orientation|keyboardHidden|screenSize"android:exported="true"android:label="@string/apn_edit"><intent-filter><action android:name="android.intent.action.VIEW" /><action android:name="android.intent.action.EDIT" /><category android:name="android.intent.category.DEFAULT" /><data android:mimeType="vnd.android.cursor.item/telephony-carrier" /></intent-filter><intent-filter><action android:name="android.intent.action.INSERT" /><category android:name="android.intent.category.DEFAULT" /><data android:mimeType="vnd.android.cursor.dir/telephony-carrier" /></intent-filter><meta-data android:name="com.android.settings.FRAGMENT_CLASS"android:value="com.android.settings.network.apn.ApnEditor" /><meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"android:value="@string/menu_key_network"/></activity>
<a class=AndroidManifest.xml" height="148" src="https://i-blog.csdnimg.cn/direct/7700e7c9cc6944e49535db6d99af458c.png" width="610" />
AndroidManifest.xml

问题

红线说明:

Missing URL More... (Ctrl+F1) 
Inspection info: Ensure your intent filter has the documented elements for deep links, web links, or Android App Links.  

Issue id: AppLinkUrlError  

More info: https://developer.android.com/training/app-links https://g.co/AppIndexing/AndroidStudio  

Vendor: Android Open Source Project

Contact: https://groups.google.com/g/lint-dev

Feedback: https://issuetracker.google.com/issues/new?component=192708 

Missing URL 的完整说明
Missing URL 的完整说明

IDE提示的解决建议中,set scheme是没有用的,通过忽略的配置可以不显示红线

IDE提示的解决建议
IDE提示的解决建议

解决方案

intent-filter 配置 tools:ignore="AppLinkUrlError"

显示正常代码:

            <intent-filter tools:ignore="AppLinkUrlError"><action android:name="android.intent.action.VIEW" /><action android:name="android.intent.action.EDIT" /><category android:name="android.intent.category.DEFAULT" /><data android:mimeType="vnd.android.cursor.item/telephony-carrier" /></intent-filter>

LinkUrl介绍

AppLinkUrlError 错误

AppLinkUrlError 是与 Android 应用的深度链接(Deep Linking)和应用链接(App Links)相关的一个错误。该错误通常指示在尝试解析或打开某个特定的 URL 时出现了问题,这些问题可能导致链接无法正确打开到指定的应用或页面。

应用中的深链接 URL 可能存在多种问题,这些问题可能会导致用户无法正确访问应用的特定内容或功能。以下是一些常见的深链接相关问题:

1. URL 格式不正确

  • 深链接的格式必须符合 URI 标准。如果 URL 中包含非法字符、拼写错误或格式不符合规范,可能导致链接无效。

2. 未注册的深链接

  • 如果应用未正确在 Manifest 文件中声明其深链接,系统将无法识别并处理这些链接。这可能会导致用户点击链接后出现错误页面或无法打开应用。

3. 不匹配的 URI 模式

  • 应用可能设置了特定的 URI 模式(例如:https://www.example.com/path),如果请求的链接不符合这些模式,应用将无法处理请求。

4. 缺少必要的参数

  • 深链接通常需要附加参数(例如,ID 或查询字符串)以导向特定的内容。如果缺少这些必要的参数,用户可能无法访问正确的页面或功能。

5. 授权和权限问题

  • 某些深链接可能需要用户授权,或者依赖于用户的登录状态。如果用户未登录或未授权,深链接可能无法正常工作。

6. 平台兼容性

  • 不同平台或操作系统版本可能对深链接的支持程度不同。某些老旧版本的 Android 或 iOS 可能不完全支持深链接功能。

7. 过期的链接

  • 如果深链接指向的内容已被删除或移除,用户在访问时将得到一个错误页面(例如 404 Not Found)。

8. App 版本不兼容

  • 深链接可能在特定版本的应用中有效。如果用户安装的应用版本不支持该深链接指向的功能或内容,链接将无法正常工作。

9. 网络问题

  • 在某些情况下,用户的网络连接问题可能导致深链接无法成功打开应用。

http://www.ppmy.cn/ops/141120.html

相关文章

Debezium日常分享系列之:Debezium Engine

Debezium日常分享系列之&#xff1a;Debezium Engine 依赖打包项目在代码中输出消息格式消息转换消息转换谓词高级记录使用引擎属性异步引擎属性数据库模式历史属性处理故障 Debezium连接器通常通过部署到Kafka Connect服务来运行&#xff0c;并配置一个或多个连接器来监视上游…

nginx 配置 跨域、压缩、文件下载 、静态文件、防盗链

1.跨域配置 在server模块下 访问如&#xff1a;http://127.0.0.1:8080/static/a.txt #跨域server {listen 8080;server_name localhost;#允许跨域请求的域&#xff0c; *代表所有add_header Access-Control-Allow-Origin *;#允许带上cookie请求add_header Access-Contro…

python分析wireshark文件

1 pyshark库 支持wireshark的解析等。 安装pyshark pip install pyshark2 dpkt库 这也是一个用于分析pcap文件的库&#xff0c;是所有分析pcap库中最快的一个。 官方参考文档&#xff1a; https://dpkt.readthedocs.io/en/latest/print_packets.html https://dpkt.readthe…

低代码场景案例配置——复杂数据模型下表单与表格关联字段的保存

主子表的场景是每个业务系统都绕不过的功能点&#xff0c;低代码能不能在业务上用的起来&#xff0c;这个是必须过的门槛。那么什么主子表有哪些场景的应用&#xff0c;如何配置呢&#xff0c;接下来我们就举个例详细说明 订单管理系统&#xff0c;场景描述&#xff1a; 在电…

十一、容器化 vs 虚拟化-Docker 命令

文章目录 常用命令一、容器生命周期管理二、容器操作三、容器的root文件系统&#xff08;rootfs&#xff09;命令四、镜像仓库五、本地镜像管理六、info|version七、Docker Compose八、网络命令九、卷命令 常用命令 指令 说明 docker images 查看已下载的镜像 docker rmi 镜像…

深度学习中的损失函数

损失函数是深度学习模型训练过程中不可或缺的一部分&#xff0c;是模型预测值与真实值之间差异的客观衡量标准。它们是模型训练的基础&#xff0c;指导算法调整模型参数&#xff0c;以最小化损失并提高预测准确性。它们衡量了模型预测值与真实值的吻合程度。通过最小化这种损失…

解锁 AI 潜能 - ChatGPT等大模型提示词技巧

在人工智能领域&#xff0c;ChatGPT 等大语言模型正在重新定义我们的工作和生活方式。这些强大的 AI 大模型 能够理解自然语言并生成高质量的内容&#xff0c;无论是撰写文案、解决问题&#xff0c;还是数据分析&#xff0c;都展现了卓越的表现。如何高效使用这些工具&#xff…

【openwrt】openwrt-21.02 基于IP地址使用ipset实现策略路由操作说明

openwrt版本信息 DISTRIB_ID=OpenWrt DISTRIB_RELEASE=21.02-SNAPSHOT DISTRIB_REVISION=r0-6bf6af1d5 DISTRIB_TARGET=mediatek/mt7981 DISTRIB_ARCH=aarch64_cortex-a53 DISTRIB_DESCRIPTION=OpenWrt 21.02-SNAPSHOT r0-6bf6af1d5 DISTRIB_TAINTS=no-all busybox override …