如何接受市场意图://特定于您的应用程序包名称

时间:2013-03-12 07:46:04

标签: android android-intent intentfilter

我一直在研究这个问题,但我似乎只发现了你想要启动意图在Play商店中查看你的应用程序的相反情况。我想知道如果URI包含你的应用程序的包名,是否可以接受一个URI的Intent,如(market://details?id=com.my.packagename

我们的想法是在网站上建立一个链接,该链接可以启动应用程序(如果已经安装),或者回退到启动应用程序下载页面的Play商店(如果没有安装)。

我尝试了一些带有market方案的intent-filter和my.packagename数据的组合,以及类似的东西,但是应用程序没有显示为接收方。< / p>

2 个答案:

答案 0 :(得分:3)

我认为这是不可能的。如果您制作自定义方案,例如my-scheme://然后必须安装您的应用才能处理该方案。最重要的是浏览器(Chrome,默认浏览器,Firefox ......):他们将采用这种自定义方案做什么?为了安全起见,他们可能会忽略它。

此外,方案market://现已弃用(some related info),Google已切换回正常的HTTPS格式:

https://play.google.com/store/apps/details?id=your.package.name

答案 1 :(得分:1)

执行此操作的方法是编写一个小型Web服务,例如使用Google App Engine。

您的网站应该链接到您的应用可以拦截的http://yournamehere.appspot.com。生活在yournamehere.appspot.com上的网络服务只会向市场发送重定向:// ...(或https://play.google.com/ ...如果您愿意的话)

这样,当您的应用安装时,它将截取链接点击。如果不是,您的网络服务将重定向到市场应用程序。