链接在Webview中直接进入Android Market

时间:2012-12-14 20:12:47

标签: android android-webview google-play webviewclient

在我的Android中,如果我点击指向Play商店的链接,Android会自动打开游戏商店,以便我可以下载该应用。

如果该链接位于应用的网页浏览中,则会打开一个网页,类似于在桌面上打开的网页。有没有办法解决?我尝试过的链接类型是:

market:// details?id = com.alpinereplay.android(在webview中根本不起作用) https://play.google.com/store/apps/details?id=com.appname.android(打开像网站一样的桌面)

2 个答案:

答案 0 :(得分:3)

我真的很惊讶这种行为正在发生。你确定这不是你明确做的事情吗? WebViewClientshouldOverrideUrlLoading的文档说:

  

默认情况下,WebView会要求活动管理器为URL选择合适的处理程序。

如果你有WebViewClient,请确保在shouldOverrideUrlLoading中有代码来决定何时启动Play商店,然后在WebView中加载页面 - 也许是{{3} },parsing the URL,并为您的网址使用market方案。

答案 1 :(得分:0)

默认情况下,如果您未设置任何WebViewClient

webView.loadUrl("market://details?id=your_package");

方法不起作用,它显示找不到页面。 如果您尝试加载包含市场链接的页面,并且未设置WebViewClient,则此页面将在设备浏览器中打开,因此您应设置WebViewClient,因为您设置了WebViewClient 1}};您应该像this answer建议的那样自己处理市场链接。

但即使您未设置WebViewClient,自定义html中的以下链接也会打开市场应用。我认为这是shouldOverrideUrlLoading文档中提到的情况。

String html = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html><head> </head> <body>  <p><a href=\"market://details?id=your_package\">Market Link</a></p>  </body></html>";
webView.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");