0

こんにちは、私は Android を初めて使用し、Web アプリケーションを実行しています。ここでは、webview.getUrl(); を使用するために各ページの URL アドレスを取得したい webview があります。そのページのアドレスを取得しましたが、他のページへのWebアドレスを取得できませんでした.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 に答える