2017-04-05 105 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

相關問題