Naik, Пробовал подобные примеры с гугла, вылетает после загрузки страницы, что не так делаю или с какой версии андроида это работает?
import android.app.*;
import android.content.*;
import android.net.*;
import android.os.*;
import android.view.*;
import android.webkit.*;
import android.widget.*;
public class MainActivity extends Activity
{
WebView myWebView;
TextView tv;
private static final String GET_HTML = "GET_HTML" ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myWebView = (WebView)findViewById(R.id.webview);
tv=(TextView)findViewById(R.id.text);
WebSettings webSettings=myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView. addJavascriptInterface (new MyJavascriptInterface () , GET_HTML ) ;
myWebView .setWebViewClient(new MyWebViewClient());
myWebView.loadUrl("
http://annimon.com"): }
private class MyWebViewClient extends WebViewClient
{
public void onPageFinished(WebView view, String address)
{
myWebView.loadUrl("javascript:window." + GET_HTML + ".getHtml('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');" ) ;
}
public boolean shouldOverrideUrlLoading(WebView view , String url )
{
if (Uri.parse(url).getHost().equals("annimon.com"))
{
tv.setText(url);
return false ;
}
Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);
return true;
}
}
public boolean onKeyDown (int keyCode ,KeyEvent event )
{
if (( keyCode == KeyEvent.KEYCODE_BACK ) && myWebView.canGoBack())
{
myWebView .goBack();
return true;
}
return super.onKeyDown (keyCode,event);
}
private class MyJavascriptInterface
{
public void getHtml( String html )
{
tv.setText("исходный код"+html );
}
}
}