在Android平台上构建URI的原则是什么?

问题描述:

有没有关于在Android平台上使用URI的原理的任何文档?例如,我有一个允许用户阅读特定论坛的应用程序。它有几项活动 - 一个用于查看论坛列表,一个用于查看主题列表,一个用于查看帖子列表等。在Android平台上构建URI的原则是什么?

我想在活动的意图中使用分层URI来指示什么活动应该显示。这是个好主意吗?如果是这样,那么制定这些URI的最佳方式是什么?

例如,我应该使用我自己的方案,如myforums:content:方案吗?

使用标准的http URI来查看公共Web内容,并根据主机/路径设置您的意图过滤器。其中一些插图包括Android Market,它将打开http://market.android.com上的应用程序链接,而网站本身将在任何浏览器中打开。 YouTube应用也会打开视频的直接链接。

如果您的应用程序不存在,使用http URI意味着可以从任何平台上的任何浏览器打开与该内容的共享链接,但当该应用程序存在时可以接管该应用程序以提供更丰富或更优化的体验。

+0

谢谢。那么在什么情况下建议增加新的方案呢? – Fixpoint 2011-05-22 00:42:01

+1

几乎从不。参见RFC 4395许多软件都忽略了这个过程,但它引用了一些非实际的原因,不注册新的方案,包括:“URI方案构成一个单一的全局命名空间;它是因为这些原因,新方案的无限注册是有害的,新的URI方案应该对广泛的互联网社区有明确的用处,除了已经注册的URI方案之外。做一个好公民,不要为你的移动应用程序构建新的URI方案。 :) – adamp 2011-05-22 16:09:22

+0

您应该知道这种方法已被弃用(不幸)。谷歌赞成使用“意图://”而不是“http://”,它改变了整个概念(因为如果你的应用程序没有安装,你不能依靠浏览器来处理链接)。请参阅https://developers.google.com/chrome/mobile/docs/intents。好处是,“intent://”链接可以包含您的应用程序包,因此如果未安装该应用程序,则您在Google Play中的应用程序将被打开。 – Stan 2013-06-18 11:48:21