intentfilter 相关问题

在Android中,IntentFilter表示组件对特定数据或操作的兴趣或能力。可以在Intent中匹配操作,类别和数据(通过其类型,方案和/或路径)。它还包括一个“优先级”值,用于订购多个匹配的过滤器。

Android 原生与可信 Web Activity(TWA) 之间的通信

我使用 android 封装了一个 Vue js Web 应用程序,使其成为 TWA(可信 Web 应用程序)。 现在我想将 firebase_token 和其他数据从 Android 部分发送到 TWA 中的 webapp。由于所有 API 都在网络上...

回答 2 投票 0

尝试从 URI 启动时出现“导出的活动不需要权限”

我正在尝试使用这个SO问题作为参考从URI启动Android应用程序。 我有一个清单文件,其中声明了以下活动: ...

回答 3 投票 0

.NET MAUI Android:在未安装外部应用程序的情况下尝试启动该应用程序时如何处理?

我正在使用启动器从我的应用程序打开 Facebook 页面,如下所示: 异步任务 OpenFacebook() { 尝试 { // 尝试打开Facebook应用程序,如果没有,尝试在浏览器中打开 布尔打开...

回答 1 投票 0

如何修复 Android Kotlin 中已弃用的 startActivityForResult() 问题

我正在 Kotlin 中开发 Android 应用程序,其中有付款功能,该功能位于活动的主 ui 线程中,但我想创建一个单独的付款活动并使用协程进行处理...

回答 1 投票 0

Android应用程序链接在全面调试后不起作用

我正在尝试为 Android 应用程序实现深层链接。问题是,每当用户按下与应用程序关联的域下的链接之一时,网络浏览器就会打开。 该应用程序...

回答 1 投票 0

带有“#”的意图过滤器路径前缀不起作用

我正在尝试设置一个意图过滤器,以在用户单击以下 URI 时启动我的活动: example.com/pathA/pathB/#pathC/someGUID 所以我将以下 XML 添加到清单文件中: 我正在尝试设置一个意图过滤器,以便在用户单击以下 URI 时启动我的活动: example.com/pathA/pathB/#pathC/someGUID 所以我将以下 XML 添加到清单文件中: <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:host="example.com" android:pathPrefix="/pathA/pathB/#pathC" android:scheme="http" /> </intent-filter> 我认为“#”字符把一切搞乱了,但我尝试转义这个字符,但没有成功。有什么想法吗? 更新:当我说“尝试转义”时,我的意思是使用百分比编码(#等于%23) 意图过滤器使用 UriMatcher 来解析 URI 并确定是否存在匹配。 # 是数字的 URI 通配符,如 UriMatcher 中的示例所示。根据 UriMatcher 源代码,没有转义序列可以转义 URI 中的 #。因此,您应该使用另一个非保留符号(请注意,*也被保留为任何文本的通配符)。 在 Android 15 中,这应该开始工作。 一些例子: <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" /> <data android:scheme="https" /> <data android:domain="astore.com" /> <uri-relative-filter-group> <data android:pathPrefix="/auth" /> <data android:query="region=na" /> </uri-relative-filter-group> <uri-relative-filter-group android:allow="false"> <data android:pathPrefix="/auth" /> <data android:query="mobileoptout=true" /> </uri-relative-filter-group> <uri-relative-filter-group android:allow="false"> <data android:pathPrefix="/auth" /> <data android:fragmentPrefix="faq" /> </uri-relative-filter-group> </intent-filter> https://developer.android.com/about/versions/15/features#expanded-intentfilter

回答 2 投票 0

单击应用程序链接时如何打开我的应用程序?

我想要的是分享我的应用程序特定页面的链接。假设我在我的应用程序中某个用户的个人资料页面中,我想将该用户分享给我的一些朋友,所以我想分享...

回答 2 投票 0

注册android意图过滤器以仅接受文件

我有一个可以共享文件的应用程序 我希望它在您共享文件时出现。 我尝试了以下方法 我有一个可以共享文件的应用程序 我希望它在您共享文件时显示。 我尝试了以下方法 <intent-filter> <action android:name="android.intent.action.SEND"/> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="*/*"/> </intent-filter> 但问题是,当用户共享文本或任何其他非文件数据时,应用程序会显示在共享菜单中。 你想要的东西在Android中并不存在。 最接近的结果是将 <data android:scheme="content"> 和 <data android:scheme="file"> 添加到您的 <intent-filter>。后者会给你你想要的......除了 file 计划近十年来基本上被禁止了。 content方案用于文件等数据流,但它也用于其他事物,您的应用程序也会显示在它们的共享菜单中。

回答 1 投票 0

选择应用程序打开文件时如何获取文件内容? (Android Kotlin)

我有一个用 Kotlin 编写的 Android 应用程序。我希望它打开特定格式的文件(现在我们只说“.json”)。当用户从应用程序选择器中选择它来打开某个...

回答 1 投票 0

使用意图过滤器从 URL 打开 Android 应用程序不起作用

我有一个 Android 应用程序,人们用它来替代网站。因此,当用户遇到网站的 URL 时,我想为他们提供在我的应用程序中“打开 URL”的选项,而不是在

回答 4 投票 0

Android 清单中的意图过滤器可以包含多少个方案和主机标签

需要有关清单中指定的意图过滤器标记的更多信息。我知道我们可以通过两种形式指定数据: 需要有关清单中指定的意图过滤器标记的更多信息。我知道我们可以用两种形式指定数据: <intent-filter> <data android:host="com.myHost" android:scheme="content"/> </intent-filter> 并且: <intent-filter> <data android:scheme="content"/> <data android:host="com.myHost"/> </intent-filter> 但是我想知道是否可以存在多种组合,例如 <intent-filter> <data android:host="com.myHost" android:scheme="content"/> <data android:scheme="content"/> <data android:host="com.myHost1"/> </intent-filter> 或: <intent-filter> <data android:host="com.myHost" android:scheme="content"/> <data android:scheme="content"/> <data android:host="com.myHost1"/> <data android:scheme="content"/> <data android:host="com.myHost2"/> </intent-filter> 在最后一种情况下,我首先想知道这是否可以存在以及如何决定哪个主机用于哪个方案,因为包含方案和主机的数据标签可以以任何顺序出现。 请帮忙。 我知道我们可以用两种形式指定数据 请勿将 content 用于方案,除非您确实是想创建一项活动来支持 ContentProvider。 但是我想知道是否可以存在几种组合 如果您的过滤器只有一个 <data> 属性,您肯定可以有不同的值,例如联系人应用程序中的值: <activity android:name=".activities.ShowOrCreateActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="mailto" /> <data android:scheme="tel" /> </intent-filter> </activity> 此外,一个组件可以有多个 <intent-filter> 元素,每个元素都与其他元素进行逻辑或运算(任何与任何过滤器匹配的 Intent 都是该组件的匹配项)。因此,对于更复杂的场景,每个 <data> 元素有 2 个以上属性,我倾向于将它们放在单独的 <intent-filter> 元素中。 如何决定哪个主机用于哪个方案 任何匹配都被认为是好的。您可以自己检查 Intent 以了解有关其包含内容的更多信息。 补充@CommonsWare答案,如果你不那么具体,你似乎不能使用两个<data>标签。 A)在我的一个应用程序中,我可以: <data android:scheme="myAppScheme1"/> B)并且 <data android:scheme="myAppScheme2" android:host="host2"/> C) 但以下内容将忽略第一个标签(使用 myAppScheme1://whatever URI 不起作用): <data android:scheme="myAppScheme1"/> <data android:scheme="myAppScheme2" android:host="host2"/> D)但是,如果我补充第一个方案,它将适用于两个 URIS: <data android:scheme="myAppScheme1" android:host="host1"/> <data android:scheme="myAppScheme2" android:host="host2"/> 也许如果你真的需要案例 C),你最好创建两个意图过滤器 考虑将数据标签拆分为具有单独属性的多个标签,以避免混淆。 标签应该只声明一个唯一属性(即方案或主机,但不能同时声明两者)。这更好地匹配意图过滤器的运行时行为,因为它们将所有声明的数据属性组合到单个匹配器中,该匹配器允许处理跨属性类型的任何组合。例如,以下两个声明是相同的: <intent-filter> <data android:scheme="http" android:host="example.com" /> <data android:scheme="https" android:host="example.org" /> </intent-filter> <intent-filter> <data android:scheme="http"/> <data android:scheme="https"/> <data android:host="example.com" /> <data android:host="example.org" /> </intent-filter> 他们都处理以下所有事情: http://example.com https://example.com http://example.org https://example.org 第二个更好地传达了组合行为,并且对外部读者来说更清楚,人们不应该依赖于自包含的方案/主机。在第一个中,http://example.org 也匹配并不明显,这可能会导致一组更复杂的方案/主机的混乱(或不正确的行为)。请注意,这不适用于主机+端口,因为它们必须在同一标签中声明并且仅彼此关联。 问题 ID:IntentFilterUniqueDataAttributes 更多信息:https://developer.android.com/guide/components/intents-filters 供应商:Android开源项目 联系方式:https://groups.google.com/g/lint-dev 反馈:https://issuetracker.google.com/issues/new?component=192708

回答 3 投票 0

wifi连接时获取回调,无互联网状态Android?

我正在使用下面的意图过滤器来接收网络连接回调 IntentFilter过滤器=new IntentFilter(); filter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); filter.addAction("安卓...

回答 1 投票 0

Google App Indexing:需要在主机意图过滤器属性中指定完整网站吗?

例如,如果我有一个网站名为: http://www.testmycars.com 我希望当有人在“And...”中搜索 Chevrolet 时,此 HTML 文件会被索引并显示指向我的应用程序内容的链接。

回答 1 投票 0

如何检查是否可以从某个活动处理意图?

到目前为止我已经有了这个方法,但它似乎缺少了一些东西 例如,我有一个文件 /sdcard/sound.3ga 返回 false (就像没有可以处理此类文件的活动一样)...

回答 9 投票 0

如何在Android中通过Intent选择特定的文件格式?

在我的应用程序中,我需要从不同提供商的 Android 设备中的文件管理器中选择我之前保存的这些(sfa、sfb、fbx、obj)特定文件 我试过这个 我的意图...

回答 1 投票 0

Android 意图过滤器不限制应用程序仅处理 YouTube 链接

我正在尝试限制我的 Android 应用程序在共享内容时仅处理 YouTube 链接。 我在 AndroidManifest.xml 文件中设置了一个意图过滤器,如下所示: 我正在尝试限制我的 Android 应用程序在共享内容时仅处理 YouTube 链接。 我在 AndroidManifest.xml 文件中设置了一个意图过滤器,如下所示: <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/*" android:host="youtu.be" android:pathPattern="/*" /> </intent-filter> 但是,即使在指定主机和路径模式之后,我的应用程序仍然显示在所有类型 URL 的共享列表中,而不仅仅是 YouTube 链接。我希望我的应用程序仅在共享 YouTube 视频链接时出现在共享列表中。 我是否缺少某些内容或需要任何其他配置来实现此限制?任何见解或建议将不胜感激。谢谢! ACTION_SEND 不使用 URL,因此 android:host 和 android:pathPattern 将被忽略。 我的应用程序仍然显示在所有类型 URL 的共享列表中,而不仅仅是 YouTube 链接 ACTION_SEND没有选项可以过滤共享文本的内容。 您可以切换到 ACTION_VIEW,删除 android:mimeType,然后添加 android:scheme="https",但这可能不会出现在您正在寻找的菜单中。

回答 1 投票 0

如何使用意图和 kotlin 将图像从我们的应用程序共享到另一个应用程序?

我正在尝试使用 Whatsapp/或其他照片共享应用程序将我的应用程序中的示例图片分享给其他人。但不知道为什么不分享。我不知道我的代码哪里做错了。 ...

回答 1 投票 0

在 Android 13 (MIUI 14) 上,当应用程序未通过带有 USER_PRESENT 的 BroadcastReceiver 运行时,无法启动前台服务

如果应用程序尚未运行,我无法让我的接收器工作(如果它正在运行,则可以正常工作) 我也有同样的问题,意图 USER_UNLOCKED 我设法让接收器工作,当...

回答 1 投票 0

在主屏幕上创建特定活动的快捷方式

我想为我的用户提供一个选项来创建应用程序中特定页面的快捷方式。 我在 Whatsapp 上看到过类似的用法,当你长按聊天时,你就可以创建桌面...

回答 3 投票 0

GEO-URI 的 Android Intent 过滤器

我尝试编写一个 Activity 作为谷歌地图的替代品。 通过 google-maps url 调用它时效果非常好: ...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.