andriod访问触屏版网站

代码如下:

import android.app.Activity;
import android.app.AlertDialog;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
	private WebView webview;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);    
		// 实例化WebView对象
		webview = new WebView(this);
		//webview.setLayout
		// 设置WebView属性,能够执行Javascript脚本
		webview.getSettings().setJavaScriptEnabled(true);
		// 设置页面重定向,而不是跳出通过浏览器打开
		webview.setWebViewClient(new WebViewClient() {
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				return false;
			}
		});
		if(isOpenNetwork() == true) {
			// 加载需要显示的网页
			webview.loadUrl("http://www.baidu.com");
			// 设置Web视图
			setContentView(webview);
			// 设置为全屏
			//this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
		}else{
			AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.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");  
                        }  
                        MainActivity.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();
		}
	} 

	@Override
	// 设置回退
	// 覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
			webview.goBack(); // goBack()表示返回WebView的上一页面
			return true;
		}
		return false;
	}
	
	//判断网络是否打开
	private boolean isOpenNetwork() {  
	    ConnectivityManager connManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);  
	    if(connManager.getActiveNetworkInfo() != null) {  
	        return connManager.getActiveNetworkInfo().isAvailable();  
	    }
	  
	    return false;  
	}  
}

权限设置:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

猜你喜欢

转载自java-007.iteye.com/blog/2067056