2012-12-14 3 views
3

Android에서 Play 스토어로 연결되는 링크를 클릭하면 Android에서 자동으로 Play 스토어를 열어 앱을 다운로드 할 수 있습니다.웹보기에서 직접 Android 마켓으로 연결되는 링크

링크가 앱의 웹보기에있는 경우 바탕 화면에서 열리는 것과 비슷한 웹 페이지가 열립니다. 이 주위에 어떤 방법이 있습니까? 내가 시도 링크의 유형은 다음과 같습니다

시장 : // 자세한 사항은 ID가 = com.alpinereplay.android가 https://play.google.com/store/apps/details?id=com.appname.android는 (웹 사이트와 같은 바탕 화면을 열어) (웹뷰에서 전혀 작동하지 않습니다)

+1

실망 스러워요. 나는'market : //'을 기대했을 것입니다. 당신은 자신의 계획 (예 :'davidmarket : //')을 구현하여 자신의 'Theme.NoDisplay' 활동을 지시 할 수 있으며, 정기적 인'market : //'활동을 시작합니다. – CommonsWare

+0

네, 그게 우리가 할 것입니다, 애플 리케이션이 이미 시장에 있다는 것을 제외하고, 그래서 네이티브 코드를 변경할 수 없습니다. – David

답변

3

나는이 행동이 일어나고 있다는 사실에 상당히 놀랐다. 네가 분명히하는 일이 아니라고 확신 할 수 있니? WebViewClient에서 shouldOverrideUrlLoading에 대한 문서 말 : 기본 웹보기로

가 URL에 대한 적절한 핸들러를 선택하는 작업 관리자를 요청합니다.

당신이 WebViewClient이있는 경우 귀하의 URL의 market 방식을 사용, parsing the URL하여 WebView --perhaps에 부하 대 getting the scheme을 페이지를 Play 스토어를 실행하고,시기를 결정하는 shouldOverrideUrlLoading 코드가 있는지 확인 . 당신이 어떤 WebViewClient

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

방법이 작동하지 않는 설정하지 않으면 기본적으로

0

은이 페이지를 찾을 수 없음을 보여줍니다. 시장 링크가 포함 된 페이지를로드하려고 시도하고 WebViewClient을 설정하지 않으면이 페이지가 장치 브라우저에서 열리므로 WebViewClient을 설정해야하고 WebViewClient을 설정해야합니다. 당신은 this answer와 같은 시장 링크를 직접 처리해야합니다.

그러나 사용자 정의 html 내의 다음 링크는 WebViewClient을 설정하지 않은 경우에도 마켓 앱을 엽니 다. 나는 이것이 의 문서에 언급 된 상황이라고 생각한다.

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", ""); 
관련 문제