2017-04-05 6 views
1

내 블로그의 웹 사이트를 보여주는 WebView 응용 프로그램을 사용하여 응용 프로그램을 만들었습니다. 귀하의 블로그에서 Google Play 링크를 사용하고 있습니다. 그러나 Google Play에 대한 모든 링크가 매우 Play에서 바로 열리도록 만들 수는 없습니다. 마켓, 이제 모든 링크가 앱에서 열려 브라우저로 전달되지 않습니다. 어떤 코드를 사용해야합니까? 도와주세요링크를 Google Play 마켓으로 리디렉션하는 방법은 무엇인가요?

이 내가 MainActivity.java에서 사용하는 코드는 다음과 같습니다

package com.thegosa.bterwe; 
 

 
import android.annotation.TargetApi; 
 
import android.app.Activity; 
 
import android.app.FragmentManager; 
 
import android.content.Intent; 
 
import android.net.Uri; 
 
import android.os.Build; 
 
import android.support.v7.app.ActionBarDrawerToggle; 
 
import android.support.v7.app.AppCompatActivity; 
 
import android.os.Bundle; 
 
import android.support.v7.graphics.drawable.DrawerArrowDrawable; 
 
import android.util.Log; 
 
import android.view.View; 
 
import android.webkit.WebChromeClient; 
 
import android.webkit.WebResourceRequest; 
 
import android.webkit.WebSettings; 
 
import android.webkit.WebView; // import WebView class 
 
import android.webkit.WebViewClient; // import class WebViewClient 
 
import android.widget.ProgressBar; 
 
import android.widget.Toast; 
 

 

 

 
@SuppressWarnings("ALL") 
 
public class MainActivity extends AppCompatActivity { 
 

 

 
    WebView wv ; 
 
    private Bundle savedInstanceState; 
 

 
    // When Back Pressed Go Back. 
 
    @Override 
 
    public void onBackPressed(){ 
 
     if (wv.canGoBack()){ 
 
      wv.goBack(); 
 
     }else { 
 
      super.onBackPressed(); 
 
     } 
 
    } 
 

 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.activity_main); 
 

 

 
     wv = (WebView) findViewById(R.id.webView) ; 
 
     //Enable JavaScript 
 
     wv.getSettings().setJavaScriptEnabled(true); 
 
     wv.setFocusable(true); 
 
     wv.setFocusableInTouchMode(true); 
 
     // Set Render Priority To High 
 
     wv.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 
 
     wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
 
     wv.getSettings().setDomStorageEnabled(true); 
 
     wv.getSettings().setDatabaseEnabled(true); 
 
     wv.getSettings().setAppCacheEnabled(true); 
 
     wv.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
 
     //Load Url 
 
     wv.loadUrl("http://themesxperia.blogspot.com/"); 
 
     wv.setWebViewClient(new WebViewClient()); 
 

 

 

 
    } 
 

 

 

 

 
}

+0

도움이 될만한 질문 : > http://stackoverflow.com/questions/11753000/how-to-open-the-google-play-store-directly-from-my-android-application – ndelanou

+0

이 줄을 주석 처리 해보세요. wv .setWebViewClient (새 WebViewClient()); 응용 프로그램 관리자에서이 패키지에 대한 기본 설정을 지울 수 있습니다. –

답변

0
public void OpenPlayStore() { 
      Uri uri = Uri.parse(getResources().getString(R.string.rate_us)); 
      Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); 
      goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | 
        Intent.FLAG_ACTIVITY_NEW_DOCUMENT | 
        Intent.FLAG_ACTIVITY_MULTIPLE_TASK); 
      try { 
       startActivity(goToMarket); 
      } catch (ActivityNotFoundException e) { 
       startActivity(new Intent(Intent.ACTION_VIEW, 
         Uri.parse(getResources().getString(R.string.rate_us2)))); 
      } 
     } 

이, 재생 시장을 열 것 : 여기

는 솔루션입니다.

문자열은

:

rate_us은 "시장 : // 세부 ID = com.companyname.appname?"

rate_us2은 Play 스토어에서 앱에 대한 링크입니다

희망이 도움이됩니다.

+0

불행히도이 기능이 작동하지 않으며 오류 만 제공합니다. – Suhrab