0

application/activity我知道我可以通过使用来强制使用特定的意图intent.setComponent()。但是有没有办法说它不应该使用特定的app/activity?

为什么我需要这个:我的应用程序将能够响应几个urls (like http://www.companyname.com/something/12345). 如果我的应用程序启动此 url 的 Intent 原因,我将检查我是否有处理此问题所需的数据。(在我的示例中,ID 为 12345)。如果我无法对意图做一些有用的事情,我会使用相同的数据创建一个新的意图,以便用户可以尝试在其浏览器中查看内容。

这是我的问题发生的时刻。当我启动新创建的意图时,我的应用程序再次出现在可以处理此问题的应用程序列表中。但我已经知道我的应用程序不能用这个意图做任何事情。用户已经知道我的应用程序无法处理意图,但如果我的应用程序没有出现在此列表中,那就太好了。

提前致谢。

4

2 回答 2

0

您可以为您的应用程序使用 Intent-Filters 并根据需要使用通配符设置URI,请参阅此处了解更多信息。通过操作或类别的一些附加信息,您可以确保您的应用程序是唯一(不)与意图匹配的应用程序。

于 2013-01-02T12:55:12.207 回答
0

一个可行的解决方案是在创建新意图时,而不是intent.setData(uri)I do intent.setDataAndType(uri, "text/html")。这导致我的应用程序从列表中消失。目前这是一个可行的解决方案:)但我仍然想知道是否有更好的方法来实现这一结果。

于 2013-01-02T12:34:06.817 回答