Android 如何在WebView应用程序中直接打开相同的网站帖子URL?

Android 如何在WebView应用程序中直接打开相同的网站帖子URL?,android,android-studio,webview,Android,Android Studio,Webview,我是基于类似网站的Url创建的WebView应用程序。有些,我共享了类似网站的帖子链接。有些/post_name/到我的朋友当他们通过我的WebView应用程序打开该链接时,不会直接打开帖子页面链接,它只打开我的网站主页链接(wesite.some)。我希望此操作像Snapdeal或flipkart一样直接在我的webview应用程序中打开页面。请帮帮我 像这样的主要活动 public类MainActivity扩展了AppCompatActivity 实现NavigationView.OnNav

我是基于类似网站的Url创建的WebView应用程序。有些,我共享了类似网站的帖子链接。有些/post_name/到我的朋友当他们通过我的WebView应用程序打开该链接时,不会直接打开帖子页面链接,它只打开我的网站主页链接(wesite.some)。我希望此操作像Snapdeal或flipkart一样直接在我的webview应用程序中打开页面。请帮帮我

像这样的主要活动

public类MainActivity扩展了AppCompatActivity
实现NavigationView.OnNavigationItemSelectedListener{
私有网络视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
wv=(WebView)findViewById(R.id.webView1);
WebSettings=wv.getSettings();
settings.setJavaScriptEnabled(true);
wv.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
wv.getSettings().setCacheMode(WebSettings.LOAD_NO_缓存);
wv.getSettings().setAppCacheEnabled(false);
wv.getSettings().setAllowFileAccess(true);
wv.getSettings().setSupportMultipleWindows(true);
wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wv.getSettings().setLoadWithOverview模式(true);
wv.getSettings().setUseWideViewPort(true);
wv.getSettings().SetBuilTinZoomControl(true);
wv.getSettings().setDisplayZoomControl(false);
wv.setScrollBarStyle(视图。滚动条在覆盖层内);
settings.setDomStorageEnabled(true);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.窄列);
settings.setUseWideViewPort(true);
设置。设置保存密码(true);
settings.setSaveFormData(true);
wv.loadUrl(“http://website.some/");
setWebViewClient(新的MywebViewClient());
}
@凌驾
public void onBackPressed(){
抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局);
if(抽屉isDrawerOpen(重力压缩机启动)){
抽屉。关闭抽屉(重力压缩机启动);
}否则{
super.onBackPressed();
}
}
私有类MywebViewClient扩展了WebViewClient{
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
if(Uri.parse(url.getHost().equals(“website.some/”){
返回false;
}
返回false;
}
ProgressDialog pd=null;
@凌驾
public void onPageStarted(WebView视图、字符串url、位图favicon){
pd=新建进度对话框(MainActivity.this);
pd.setTitle(“请稍候…”);
pd.setMessage(“页面正在加载…”);
pd.show();
super.onPageStarted(视图、url、favicon);
}
@凌驾
公共void onPageFinished(WebView视图,字符串url){
pd.解散();
super.onPageFinished(视图、url);
}
}
@凌驾
公共布尔onKeyDown(int-keyCode,KeyEvent事件){
if(event.getAction()==KeyEvent.ACTION\u向下){
开关(钥匙代码){
case KeyEvent.KEYCODE\u返回:
if(wv.canGoBack()){
wv.goBack();
}
否则{
完成();
}
返回true;
}
}
返回super.onKeyDown(keyCode,event);
}
}
试试这个

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

当onPageFinished内的url发生更改时调用的shouldOverrideUrlLoading方法

        @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;
        }