package
com.pocketdigi.webview;
import
android.app.Activity;
import
android.app.AlertDialog;
import
android.app.ProgressDialog;
import
android.content.Context;
import
android.content.DialogInterface;
import
android.net.ConnectivityManager;
import
android.os.Bundle;
import
android.os.Handler;
import
android.os.Message;
import
android.view.KeyEvent;
import
android.webkit.WebChromeClient;
import
android.webkit.WebView;
import
android.webkit.WebViewClient;
public
class
main
extends
Activity {
/** Called when the activity is first created. */
WebView wv;
ProgressDialog pd;
Handler handler;
private
boolean
isOpenNetwork() {
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if
(connManager.getActiveNetworkInfo() !=
null
) {
return
connManager.getActiveNetworkInfo().isAvailable();
}
return
false
;
}
private
void
initMoreGames() {
String URL_MOREGAMES =
"http://www.baidu.com"
;
WebView mWebView = (WebView) findViewById(R.id.view_gamesort);
if
(mWebView !=
null
) {
mWebView.requestFocus();
WebSettings webSettings = mWebView.getSettings();
if
(webSettings !=
null
) {
webSettings.setJavaScriptEnabled(
true
);
webSettings.setCacheMode(MODE_PRIVATE);
webSettings.setDefaultTextEncodingName(
"utf-8"
);
}
if
(isOpenNetwork() ==
true
) {
mWebView.loadUrl(URL_MOREGAMES);
}
else
{
AlertDialog.Builder builder =
new
AlertDialog.Builder(MoreGamesActivity.
this
);
builder.setTitle(
"没有可用的网络"
).setMessage(
"是否对网络进行设置?"
);
builder.setPositiveButton(
"是"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
which) {
Intent intent =
null
;
try
{
String sdkVersion = android.os.Build.VERSION.SDK;
if
(Integer.valueOf(sdkVersion) >
10
) {
intent =
new
Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
}
else
{
intent =
new
Intent();
ComponentName comp =
new
ComponentName(
"com.android.settings"
,
"com.android.settings.WirelessSettings"
);
intent.setComponent(comp);
intent.setAction(
"android.intent.action.VIEW"
);
}
MoreGamesActivity.
this
.startActivity(intent);
}
catch
(Exception e) {
Log.w(TAG,
"open network settings failed, please check..."
);
e.printStackTrace();
}
}
}).setNegativeButton(
"否"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
which) {
dialog.cancel();
finish();
}
}).show();
}
}
else
{
Log.w(TAG,
"mWebView is null, please check..."
);
}
}
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
loadurl(wv,
"http://baidu.com "
);
}
public
void
init(){
pd=
new
ProgressDialog(main.
this
);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setMessage(
"数据载入中,请稍候!"
);
handler=
new
Handler(){
public
void
handleMessage(Message msg)
{
if
(!Thread.currentThread().isInterrupted())
{
switch
(msg.what)
{
case
0
:
pd.show();
break
;
case
1
:
pd.hide();
break
;
}
}
super
.handleMessage(msg);
}
};
wv=(WebView)findViewById(R.id.wv);
wv.getSettings().setJavaScriptEnabled(
true
);
wv.setScrollBarStyle(
0
);
wv.setWebViewClient(
new
WebViewClient(){
public
boolean
shouldOverrideUrlLoading(
final
WebView view,
final
String url) {
loadurl(view,url);
return
true
;
}
});
wv.setWebChromeClient(
new
WebChromeClient(){
public
void
onProgressChanged(WebView view,
int
progress){
if
(progress==
100
){
handler.sendEmptyMessage(
1
);
}
super
.onProgressChanged(view, progress);
}
});
}
public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {
if
((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()) {
wv.goBack();
return
true
;
}
else
if
(keyCode == KeyEvent.KEYCODE_BACK){
ConfirmExit();
return
true
;
}
return
super
.onKeyDown(keyCode, event);
}
public
void
ConfirmExit(){
AlertDialog.Builder ad=
new
AlertDialog.Builder(main.
this
);
ad.setTitle(
"退出"
);
ad.setMessage(
"是否退出商城?"
);
ad.setPositiveButton(
"是"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
i) {
main.
this
.finish();
}
});
ad.setNegativeButton(
"否"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
i) {
}
});
ad.show();
}
public
void
loadurl(
final
WebView view,
final
String url){
new
Thread(){
public
void
run(){
handler.sendEmptyMessage(
0
);
view.loadUrl(url);
}
}.start();
}
}
本文是小崔从一位大师的评论转载过来的,如果有抄袭清告诫小崔删掉。
小崔最近在做关于这方面的工程,所以为了方便才自己弄下来的。
而且可能有点错误,如有发现请大家指点。