`

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"/>

分享到:
评论

相关推荐

    mst Android多点触摸屏的native service参考代码

    这类设备通常通过串行接口(如I2C或SPI)与主处理器通信,接收来自触摸屏控制器的数据,并将其转换为Android可以理解和处理的事件。 在多点触摸屏的实现中,关键在于如何处理和解析来自控制器的多点触控数据。这...

    android 源码 1.5 版本

    - **驱动程序**:包括显示驱动、触摸屏驱动、音频驱动等,这些是Android与硬件交互的关键部分。 2. **系统库层**: - **Bionic libc**:Android的C运行时库,替代了传统的glibc,为应用程序提供基本的C函数支持。...

    Android入门教程/Android平台的触摸屏校准原理及其实现与优化

    ### Android平台的触摸屏校准原理及其实现与优化 #### 摘要 本文旨在深入探讨Android平台上的触摸屏校准原理及其实现方法,并针对特定的ADS7846控制芯片进行了详细的分析。首先,文章简要介绍了触摸屏校准算法以及...

    Android系统中触摸屏驱动程序的原理与开发.pdf

    在Android系统中,触摸屏驱动程序是至关重要的组成部分,它为用户提供直观的交互方式,使得设备能够识别并响应用户的触摸动作。以下是对Android系统中触摸屏驱动程序原理和开发的详细解析。 首先,理解Android系统...

    Android实用大屏白板附源码

    10. **文件存储与读取**:Android提供了一系列API用于文件系统的访问,应用可能使用这些API来存储用户的绘图数据,比如保存为图片文件或自定义格式的文件。 以上是"Android实用大屏白板附源码"实例中涉及的主要知识...

    Android s3c2440 触摸屏驱动

    在深入探讨Android s3c2440触摸屏驱动的具体实现之前,让我们先对s3c2440芯片及Android系统做一个简要的背景介绍。s3c2440是一款由三星推出的ARM920T核心处理器,广泛应用于嵌入式系统中,其强大的性能和丰富的外设...

    Android源码——触屏手势识别GestureTest.zip

    在Android开发中,触屏手势识别是用户交互的重要组成部分,它允许用户通过各种手势与应用程序进行互动,提高用户体验。这个名为"Android源码——触屏手势识别GestureTest.zip"的压缩包显然包含了与实现这一功能相关...

    Android底层开发技术实战详解_android底层_

    驱动程序开发是Android底层开发的重要部分,书中可能会详细讲解如何编写和调试各种硬件相关的驱动,如显示驱动、触摸屏驱动、摄像头驱动、音频驱动等。这些驱动是连接硬件和操作系统之间的桥梁,理解和编写它们对于...

    精通ANDROID 3(中文版)1/2

    第25章 触摸屏  25.1 MotionEvent  25.1.1 MotionEvent 对象  25.1.2 回收MotionEvent  25.1.3 使用VelocityTracker  25.1.4 探索拖放操作  25.2 多点触摸  25.2.1 Android2.2之前的多点触摸  ...

    Android金典(第一版)

    Android系统是一种基于Linux的自由及开放源代码的操作系统,主要被设计用于触屏移动设备如智能手机和平板电脑。Android系统提供了丰富的API供开发者使用,其中“Android四大组件”是Android应用开发的核心,它们分别...

    Android系统原理与开发要点详解,多点触屏,移动图片,JNI

    本文将深入探讨Android系统的几个核心方面,包括系统架构、多点触屏处理、图片移动的实现,以及Java Native Interface (JNI)的使用。 首先,Android系统原理涉及其层次结构,包括Linux内核层、硬件抽象层(HAL)、...

    Android之改进版贪吃蛇

    3. **用户输入处理**:Android系统提供了多种接收用户输入的方式,包括触摸屏事件和物理按键。贪吃蛇游戏通常会监听屏幕上的滑动事件,通过改变蛇的方向来响应。 4. **图形绘制**:游戏中的蛇、食物和其他元素需要...

    Android底层开发实战_Android底层开发实战_android_android开发实战_

    6. **驱动程序开发**:讲解Android设备驱动程序的编写,包括显示驱动、触摸屏驱动、音频驱动等,如何与Android系统进行交互。 7. **性能优化**:探讨如何通过底层优化提升应用性能,例如内存管理优化、CPU调度策略...

    Android 屏幕保护程序源码

    在Android平台上,屏幕保护程序(Screensaver)通常被称为“壁纸”或者“动态壁纸”,它能够为用户的手机或平板电脑提供个性化的视觉体验。本资源提供的"Android 屏幕保护程序源码"是一个实现这一功能的实例,包含了...

    Android基础教程+源码

    8. **权限管理**:Android应用需要声明权限才能访问特定的系统功能,如相机、网络等。教程会解释如何在AndroidManifest.xml中添加和管理权限。 9. **生命周期**:深入理解Activity和Fragment的生命周期,以及如何在...

    Xamarin.Android 入门(官网)中文文档.pdf

    该文档还覆盖了如何使用Xamarin.Android访问数据和云服务,包括使用Azure Active Directory、*** ORM、***以及Google Cloud Messaging (GCM) 和Firebase Cloud Messaging (FCM)进行通知服务。 7. Xamarin....

    Android 触屏手势识别GestureTest.zip

    `双击访问白杨工作室查看更多程序源码~.url`可能指向一个开发者或团队的网站,提供了更多的学习资源和示例代码。你可以通过这个链接获取更多关于Android开发的信息。 综上所述,`GestureTest.zip`中的项目展示了...

    Android自定义相机,触摸聚焦,点击聚焦 手动聚焦

    Android系统提供了Camera API,用于访问和控制设备的摄像头。Camera类是主要接口,用于开启和配置相机服务。首先,你需要在AndroidManifest.xml中添加使用相机的权限: ```xml &lt;uses-feature android:name="android...

    android 1.1驱动

    4. 用户体验改进:可能对触摸屏响应速度、图形渲染等方面进行了优化,提升用户在使用设备时的流畅度。 5. 开发者工具:SDK Manager.exe是Android开发者使用的工具,用于下载和管理Android SDK组件,包括各种API级别...

Global site tag (gtag.js) - Google Analytics