在网络视图中直接指向Android市场的链接
在我的Android系统中,如果我点击指向Play Store的链接,Android会自动打开Play Store,这样我就可以下载应用程序 如果该链接位于应用程序的网络视图中,则会打开一个网页,类似于在桌面上打开的网页。这有什么办法吗?我尝试过的链接类型有: market://details?id=com.alpinereplay.android (在网络视图中根本不起作用)在网络视图中直接指向Android市场的链接,android,android-webview,google-play,webviewclient,Android,Android Webview,Google Play,Webviewclient,在我的Android系统中,如果我点击指向Play Store的链接,Android会自动打开Play Store,这样我就可以下载应用程序 如果该链接位于应用程序的网络视图中,则会打开一个网页,类似于在桌面上打开的网页。这有什么办法吗?我尝试过的链接类型有: market://details?id=com.alpinereplay.android (在网络视图中根本不起作用) (打开一个类似桌面的网站)事实上,我很惊讶这种行为正在发生。你确定这不是你在做的事情吗?webview客户端中的文档说
(打开一个类似桌面的网站)事实上,我很惊讶这种行为正在发生。你确定这不是你在做的事情吗?
webview客户端中的文档说明:
默认情况下,WebView将要求活动管理器为url选择适当的处理程序
如果您有一个WebViewClient
请确保您在shouldOverrideAllowing
中有代码,以决定何时启动Play Store或在WebView
中加载页面——可能是通过,并使用market
方案为您的URL设置。默认情况下,如果您没有设置任何WebViewClient
webView.loadUrl("market://details?id=your_package");
方法不起作用,它显示找不到页面。
如果您尝试加载包含市场链接的页面,但未设置WebViewClient
,则此页面将在设备浏览器中打开,因此您应该设置WebViewClient
,因为您设置了WebViewClient
;你应该按照建议自己处理市场链接
但是,即使您没有设置WebViewClient
,自定义html中的以下链接也会打开market应用程序。我认为这是在文件中提到的情况
String html=“”;
loadDataWithBaseURL(“,html,“text/html”,“UTF-8”,等等);
这太令人失望了——我本以为市场://
会起作用。更重要的是,你可以实现你自己的计划(例如,davidmarket://
),指向主题。你的NoDisplay
活动可以改变并启动常规的市场://
活动。是的,这是我们要做的,只是该应用已经在市场上,所以我不能更改任何本机代码。
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", "");