确定设备是否可以启动Android Market应用

时间:2011-09-04 15:12:22

标签: android exception-handling android-intent google-play

我只想通过提供启动Market的按钮来“帮助”我的用户向我的应用提供反馈。当然,在这里找到了一个可行的解决方案:

Uri uri = Uri.parse("market://details?id=<mypackagename>");
Intent intent = new Intent (Intent.ACTION_VIEW, uri); 
startActivity(intent);

简单,谢谢!

但是:在我的第一次运行中,我在我的模拟器上有这个。立即提供ActivityNotFoundException

现在,我的问题是:有没有办法在我尝试之前找出对此意图的调用是否会成功?这样我就可以完全隐藏按钮,甚至不提供选项。

感谢您的帮助!

3 个答案:

答案 0 :(得分:5)

您可以使用以下网址,而不是使用此网址:

  

https://market.android.com/details?id=<mypackagename&GT;

即使用户没有市场应用程序,他也可以访问网站。 如果他有市场申请,他应该在互联网和市场之间有一个提示。 enter image description here

BTW,如果他什么都没有,请用try catch包围你的代码; o)

答案 1 :(得分:1)

您也可以使用this method

使用您的市场网址market://details?id=&lt;mypackagename>

,而不是IMDB

答案 2 :(得分:0)

抛出异常只是因为模拟器上没有Android Market。每个Android设备都有Android Market,因此您不必担心在真实设备上抛出此异常。希望这会有所帮助。