こんにちは、私は 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;
}
}
私はページ終了方法で使用します。最初のページのアドレスのみをロードし、その後の次のページは表示されません