Loading... <p>package com.iame.mybrowser; <br /> <br />import android.app.Activity; <br />import android.app.AlertDialog; <br />import android.content.DialogInterface; <br />import android.graphics.Bitmap; <br />import android.os.Bundle; <br />import android.view.KeyEvent; <br />import android.view.LayoutInflater; <br />import android.view.View; <br />import android.view.Window; <br />import android.view.View.OnClickListener; <br />import android.webkit.JsPromptResult; <br />import android.webkit.JsResult; <br />import android.webkit.WebChromeClient; <br />import android.webkit.WebView; <br />import android.webkit.WebViewClient; <br />import android.widget.Button; <br />import android.widget.EditText; <br />import android.widget.TextView; <br /> <br />public class MyBrowser extends Activity { <br /> <br /> @Override <br /> protected void onCreate(Bundle savedInstanceState) { <br /> super.onCreate(savedInstanceState); <br /> getWindow().requestFeature(Window.FEATURE_PROGRESS);//��title bar�������� <br /> setContentView(R.layout.main); <br /> final WebView webView=(WebView)findViewById(R.id.browser); <br /> final EditText text=(EditText)findViewById(R.id.url); <br /> Button go=(Button)findViewById(R.id.go); <br /> webView.getSettings().setJavaScriptEnabled(true); <br /> webView.setWebViewClient(new WebViewClient(){ <br /> @Override <br /> public void onPageFinished(WebView view, String url) { <br /> super.onPageFinished(view, url); <br /> } <br /> <br /> @Override <br /> public void onPageStarted(WebView view, String url, Bitmap favicon) { <br /> text.setText(url); <br /> super.onPageStarted(view, url, favicon); <br /> } <br /> }); <br /> webView.setWebChromeClient(new WebChromeClient(){ <br /> @Override <br /> public boolean onJsAlert(WebView view, String url, String message, <br /> final JsResult result) { <br /> AlertDialog.Builder b = new AlertDialog.Builder(MyBrowser.this); <br /> b.setTitle("Alert"); <br /> b.setMessage(message); <br /> b.setPositiveButton(android.R.string.ok, <br /> new AlertDialog.OnClickListener() { <br /> public void onClick(DialogInterface dialog, int which) { <br /> result.confirm(); <br /> } <br /> }); <br /> b.setCancelable(false); <br /> b.create(); <br /> b.show(); <br /> return true; <br /> }; <br /> <br /> @Override <br /> public boolean onJsConfirm(WebView view, String url, String message, <br /> final JsResult result) { <br /> AlertDialog.Builder b = new AlertDialog.Builder(MyBrowser.this); <br /> b.setTitle("Confirm"); <br /> b.setMessage(message); <br /> b.setPositiveButton(android.R.string.ok, <br /> new AlertDialog.OnClickListener() { <br /> public void onClick(DialogInterface dialog, int which) { <br /> result.confirm(); <br /> } <br /> }); <br /> b.setNegativeButton(android.R.string.cancel, <br /> new DialogInterface.OnClickListener() { <br /> public void onClick(DialogInterface dialog, int which) { <br /> result.cancel(); <br /> } <br /> }); <br /> b.setCancelable(false); <br /> b.create(); <br /> b.show(); <br /> return true; <br /> }; <br /> <br /> @Override <br /> public boolean onJsPrompt(WebView view, String url, String message, <br /> String defaultValue, final JsPromptResult result) { <br /> final LayoutInflater factory = LayoutInflater.from(MyBrowser.this); <br /> final View v = factory.inflate(R.layout.javascript_prompt_dialog, null); <br /> ((TextView) v.findViewById(R.id.prompt_message_text)).setText(message); <br /> ((EditText) v.findViewById(R.id.prompt_input_field)) <br /> .setText(defaultValue); <br /> <br /> AlertDialog.Builder b = new AlertDialog.Builder(MyBrowser.this); <br /> b.setTitle("Prompt"); <br /> b.setView(v); <br /> b.setPositiveButton(android.R.string.ok, <br /> new AlertDialog.OnClickListener() { <br /> public void onClick(DialogInterface dialog, int which) { <br /> String value = ((EditText) v.findViewById</p> <p>(R.id.prompt_input_field)).getText().toString(); <br /> result.confirm(value); <br /> } <br /> }); <br /> b.setNegativeButton(android.R.string.cancel, <br /> new DialogInterface.OnClickListener() { <br /> public void onClick(DialogInterface dialog, int which) { <br /> result.cancel(); <br /> } <br /> }); <br /> b.setOnCancelListener(new DialogInterface.OnCancelListener() { <br /> public void onCancel(DialogInterface dialog) { <br /> result.cancel(); <br /> } <br /> }); <br /> b.show(); <br /> return true; <br /> }; <br /> <br /> @Override <br /> public void onProgressChanged(WebView view, int newProgress) { <br /> MyBrowser.this.getWindow().setFeatureInt(Window.FEATURE_PROGRESS, newProgress * 100); <br /> super.onProgressChanged(view, newProgress); <br /> } <br /> <br /> @Override <br /> public void onReceivedTitle(WebView view, String title) { <br /> MyBrowser.this.setTitle(title); <br /> super.onReceivedTitle(view, title); <br /> } <br /> }); <br /> go.setOnClickListener(new OnClickListener(){ <br /> public void onClick(View view) { <br /> String url=text.getText().toString(); <br /> webView.loadUrl(url); <br /> } <br /> }); <br /> webView.loadUrl("<a href="https://www.samool.com/go/ZmlsZTovLy9hbmRyb2lkX2Fzc2V0L2luZGV4Lmh0bWw=" target="_blank" >file:///android_asset/index.html</a>"); <br /> } <br /> public boolean onKeyDown(int keyCode, KeyEvent event) { <br /> WebView mWebView=(WebView)findViewById(R.id.browser); <br /> if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { <br /> mWebView.goBack(); <br /> return true; <br /> } <br /> return super.onKeyDown(keyCode, event); <br /> } <br />} </p> 相关文章 关于px、em、rem、rpx、upx的知识 CentOS7 + 宝塔环境搭建 Gogs 私人Git 仓库 android平台获取手机IMSI、IMEI 、序列号和手机号的方法 Android TextView添加滚动条 Android TextView换行问题 凯立德导航C-Car版3.0(android版自适应分辨率) android 删除文件 android bitmap的放大缩小 Android MediaPlayer使用方法 Android软件图标的几种大小 Last modification:August 7th, 2011 at 02:54 pm © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat