gpt4 book ai didi

android - 如何在 Android 上实现我自己的 URI 方案

转载 作者:IT老高 更新时间:2023-10-28 12:56:05 24 4
gpt4 key购买 nike

假设我想定义一个 URI,例如:

myapp://path/to/what/i/want?d=This%20is%20a%20test

必须由我自己的应用程序或服务处理。请注意,该方案是 "myapp" 而不是 "http""ftp"。这正是我的 Intent :为 Android 操作系统全局定义我自己的 URI 架构。这可能吗?

这有点类似于某些程序已经在执行的操作,例如 Windows 系统,例如 Skype (skype://) 或任何 torrent 下载程序 (torrent://)。

最佳答案

这是很有可能的;您在 AndroidManifest.xml 中定义 URI 方案,使用 <data> 元素。您使用 <data> 设置 Intent 过滤器元素填写完毕,您将能够创建自己的方案。 ( More on intent filters and intent resolution here .)

这是一个简短的例子:

<activity android:name=".MyUriActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" android:host="path" />
</intent-filter>
</activity>

根据隐式 Intent 的工作方式,您还需要定义至少一个 Action 和一个类别;在这里,我选择了 VIEW 作为 Action (尽管它可以是任何东西),并确保添加 DEFAULT 类别(因为这是所有隐式 Intent 所必需的)。另请注意我是如何添加 BROWSABLE 类别的 - 这不是必需的,但它允许您的 URI 可以从浏览器中打开(一个漂亮的功能)。

关于android - 如何在 Android 上实现我自己的 URI 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2448213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com