使用intent:
URI方案
还有另一种方法,使这将启动一个Android应用程序的链接 - 使用intent:
URI方案。我一直无法找到关于intent:
URI格式的适当文档;当然,source code for the function which generates such URIs可用。
对于your test document:
https://docs.google.com/document/d/1zSzDnV-90Ke3dzCCJ2CZ6iQ3JQ3F1hL1udGDqbNwwbY/edit?usp=sharing
其打开它在谷歌硬盘应用相应intent:
链接将是:
intent://docs.google.com/document/d/1zSzDnV-90Ke3dzCCJ2CZ6iQ3JQ3F1hL1udGDqbNwwbY/edit?usp=sharing#Intent;scheme=https;action=android.intent.action.VIEW;category=android.intent.category.DEFAULT;category=android.intent.category.BROWSABLE;package=com.google.android.apps.docs;end
与此URI的测试链路是on a separate page(这是不可能在这里建立一个指向这个URI的实际链接)。
转换的过程如下:
替换intent:
开始https:
。
追加意图参数:
#Intent;scheme=https;action=android.intent.action.VIEW;category=android.intent.category.DEFAULT;category=android.intent.category.BROWSABLE;package=com.google.android.apps.docs;end
这里scheme=https
对应https:
在原来的网址,因此,如果你想转换一个普通http:
URL,这个领域应该是scheme=http
。并且package=com.google.android.apps.docs
是应该处理该链接的应用的包名。
现在,当遵循这样的链接时,浏览器应直接打开Google Drive应用程序(不显示应用程序选择器)。但是,如果未安装该应用程序,则Android将打开Market应用程序,并执行搜索指定的软件包名称,以便用户可以安装所需的应用程序。
也可以使不package
参数intent:
链接:
intent://docs.google.com/document/d/1zSzDnV-90Ke3dzCCJ2CZ6iQ3JQ3F1hL1udGDqbNwwbY/edit?usp=sharing#Intent;scheme=https;action=android.intent.action.VIEW;category=android.intent.category.DEFAULT;category=android.intent.category.BROWSABLE;end
在这种情况下的行为应该是一样的,当拦截https:
链接之后股票的Android浏览器 - 应用程序Google Drive应用和所有浏览器应用都将显示选择器,并且如果未安装Google云端硬盘应用,用户将不会被重定向到Market安装。
不同于截取http:
和https:
链接,链接intent:
在更宽的范围Android浏览器的应用程序的工作;不幸的是,一些浏览器不支持它们。我的测试结果如下:
而且,很明显,非Android浏览器根本不支持这样的链接,因此如果您的网页也必须可用于其他客户端,您将需要使用某种浏览器嗅探。
使用自定义的URI方案
一些应用程序使用完全非标准的URI方案,这也可以从第三方浏览器。但是,Google云端硬盘应用没有这样做,因此此解决方案不适合它(除非有人创建了“桥接”应用,只是将请求传递给Google云端硬盘应用)。
一些浏览器也可以禁止非标准的URI方案除了一些白名单中的人(如market:
)由于安全问题;我没有试图去测试这个。
我认为谷歌云端硬盘会自动处理链接以.doc,.xls的,.PDF,等结束......这是没有必要有Google云端硬盘://在链路的开始。 –
@Shywim谢谢你的回答。我已经尝试过这一点,但我无法获取任何Google文档以.doc结尾的网址。以下是失败尝试的一个示例:https://docs.google.com/document/d/1zSzDnV-90Ke3dzCCJ2CZ6iQ3JQ3F1hL1udGDqbNwwbY/edit?usp=sharing 在我的android上打开该链接并未在Google云端硬盘应用中打开该文档 – David
使用Android 4.0浏览器时,打开链接会显示一个选择器弹出窗口,其中提供了除所有已安装的浏览器之外的Google Drive应用程序。但是,在我尝试过的任何其他第三方浏览器(Chrome,Dolphin,Firefox,Opera,UC Browser)中都没有发生这种情况 - 他们只显示Google Docs的网络版。 –