2017-01-31 2 views
-2

Ich bin eine WebView App basierend auf einer Url wie website.some erstellt, ich bin ein Post Link wie website.some/post_name/zu meinen Freunden geteilt, wenn sie den Link durch meine Webview App öffnen nicht öffnet Post Link direkt, Es öffnet nur meine Website-Hauptseite-Link (wesite.some). Ich möchte diese Aktion wie Snapdeal oder flipkart direkt in meiner Webview-App öffnen. Bitte hilf mir.Wie öffne ich dieselbe Webseite, um URLs direkt in der WebView App zu posten?

Hauptaktivität wie diese

public class MainActivity extends AppCompatActivity 
    implements NavigationView.OnNavigationItemSelectedListener { 

private WebView wv; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    wv = (WebView) findViewById(R.id.webView1); 
    WebSettings settings = wv.getSettings(); 
    settings.setJavaScriptEnabled(true); 
    wv.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 
    wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
    wv.getSettings().setAppCacheEnabled(false); 
    wv.getSettings().setAllowFileAccess(true); 
    wv.getSettings().setSupportMultipleWindows(true); 
    wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    wv.getSettings().setLoadWithOverviewMode(true); 
    wv.getSettings().setUseWideViewPort(true); 
    wv.getSettings().setBuiltInZoomControls(true); 
    wv.getSettings().setDisplayZoomControls(false); 
    wv.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
    settings.setDomStorageEnabled(true); 
    settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); 
    settings.setUseWideViewPort(true); 
    settings.setSavePassword(true); 
    settings.setSaveFormData(true); 
    wv.loadUrl("http://website.some/"); 
    wv.setWebViewClient(new MywebViewClient()); 
} 

@Override 
public void onBackPressed() { 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    if (drawer.isDrawerOpen(GravityCompat.START)) { 
     drawer.closeDrawer(GravityCompat.START); 
    } else { 
     super.onBackPressed(); 
    } 
} 

private class MywebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (Uri.parse(url).getHost().equals("website.some/")){ 
      return false; 
     } 
     return false; 
    } 
    ProgressDialog pd = null; 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     pd = new ProgressDialog(MainActivity.this); 
     pd.setTitle("please wait..."); 
     pd.setMessage("Page is loading.."); 
     pd.show(); 
     super.onPageStarted(view, url, favicon); 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     pd.dismiss(); 
     super.onPageFinished(view, url); 
    } 
} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(event.getAction()== KeyEvent.ACTION_DOWN){ 
     switch(keyCode){ 
      case KeyEvent.KEYCODE_BACK: 
       if(wv.canGoBack()){ 
        wv.goBack(); 
       } 
       else{ 
        finish(); 
       } 
       return true; 
      } 
     } 
     return super.onKeyDown(keyCode, event); 
    } 
} 

Antwort

0

bereits.

@Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (Uri.parse(url).getHost().contains("website.some")){ 
      view.loadUrl(url); //optional 
      return false; 
     } 
     return true; 
    } 
+0

funktioniert nicht ....... –

0

shouldOverrideUrlLoading Methode aufgerufen, wenn innerhalb url onPageFinished erhalten geändert.

 @Override 
     public void onPageFinished(WebView view, String url) 
     { 
       super.onPageFinished(view, url); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView viewx, String url) 
     { 
       if (url.contains("websiteLink")) 
       view.loadUrl(url); 

      return false; 
     } 
+0

funktioniert nicht ...... –

Verwandte Themen