0

嗨,我是 android 新手,我正在做一个 web 应用程序,在这里我有一个 webview 我想获取每个页面的 url 地址,以便我使用 webview.getUrl(); 我得到了那个页面的地址,但我没有得到其他页面的网址,现在找到 url 我如何在 android 中找到每个页面的地址,如果有必要我可以发布我的代码。

package com.k.l;

 import java.net.URL;



    public class FregnhjActivity extends Activity implements OnTouchListener, Handler.Callback {

private static final int CLICK_ON_WEBVIEW = 1;
private static final int CLICK_ON_URL = 2;

private final Handler handler = new Handler(this);

private WebView webView;
private WebViewClient client;
Bundle link=new Bundle();
String idyoutube="";
String webUrl="";
String url="http://m.youtube.com/";

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

webView = (WebView)findViewById(R.id.web);
webView.setOnTouchListener(this);

client = new WebViewClient(){ 
    @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        handler.sendEmptyMessage(CLICK_ON_URL);

        return false;
    } 



    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub

         webUrl = webView.getUrl();
        System.out.println("###nasjkxbsa99999999"+webUrl);



        super.onPageStarted(view, url, favicon);


    }
}; 


webView.setWebViewClient(client);
webView.setVerticalScrollBarEnabled(false);
webView.loadUrl(url);

webView.getSettings().setJavaScriptEnabled(true);
}


public boolean onTouch(View v, MotionEvent event) {
if (v.getId() == R.id.web && event.getAction() == MotionEvent.ACTION_DOWN){
    handler.sendEmptyMessageDelayed(CLICK_ON_WEBVIEW, 500);
}
return false;
}


public boolean handleMessage(Message msg) {

if (msg.what == CLICK_ON_URL){
    handler.removeMessages(CLICK_ON_WEBVIEW);


    return true;
}
if (msg.what == CLICK_ON_WEBVIEW){
    Toast.makeText(this, "WebView clicked", Toast.LENGTH_SHORT).show();

    webUrl = webView.getUrl();
    System.out.println("sammmmm"+webUrl);

    int start=webUrl.indexOf('?');
   int end=webUrl.indexOf('v');
   String yutube=webUrl.substring(start-1,end+1);

   int ids=webUrl.indexOf('=');
   idyoutube=webUrl.substring(ids+1);




    return true;
}
return false;
}
}

我在页面完成方法上使用它只加载第一页的地址,之后的下一页没有显示

4

1 回答 1

0
WebView webView webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("https://www.google.co.in/");
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Log.i("shouldOverrideUrlLoading", url);
                return super.shouldOverrideUrlLoading(view, url);
            }

        });

试试看。。希望对你有帮助。。

于 2012-05-22T08:21:39.080 回答