网页访问参考了这篇博客http://blog.csdn.net/wu_wxc/article/details/46846337
首先,在AndroidManifest.xml中添加网络访问权限,<manifest>节点下加上<uses-permissionandroid:name="android.permission.INTERNET" />
package com.example.administrator.my;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebSettings;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView= (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);//允许运行JavaScript
webView.loadUrl("http://www.baidu.com"); //加载外网
webView.setWebViewClient(new HelloWebViewClient ());
//webView.loadUrl("file:///android_asset/XX.html"); //本地网站
}
@Override
//设置回退
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack(); //调用goBack()返回WebView的上一页面
return true;
}
return false;
}
//Web视图
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
WebSetting常用方法
setDomStorageEnabled 开启缓存
setAllowFileAccess 启用或禁用WebView访问文件数据
setBlockNetworkImage 是否显示网络图像
setBuiltInZoomControls 设置是否支持缩放
setCacheMode 设置缓冲的模式
setDefaultFontSize 设置默认的字体大小
setDefaultTextEncodingName 设置在解码时时候用的默认编码
setFixedFontFamily 设置固定使用的字体
setJavaScriptEnabled 设置是否支持Javascript
setLayoutAlgorithm 设置布局方式
setLightTouchEnabled 设置用鼠标激活被选项
setSupportZoom 设置是否支持变焦
WebViewClient常用方法
doUpdateVisitedHistory 更新历史记录
onFormResubmission 应用程序重新请求网页数据
onLoadResource 加载指定地址提供的资源
onPageFinished 网页加载完毕
onPageStarted 网页开始加载
onReceivedError 报告错误信息
onScaleChanged 当WebView发生改变
shouldOverrideUrlLoading 控制新的连接在当前WebView中打开
安卓权限转载了这篇博客http://www.cnblogs.com/bluestorm/p/3645215.html
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" ></uses-permission>
允许读写访问"properties"表在checkin数据库中,改值可以修改上传
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" ></uses-permission>
允许一个程序访问CellID或WiFi热点来获取粗略的位置
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
允许一个程序访问精良位置(如GPS)
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ></uses-permission>
允许应用程序访问额外的位置提供命令
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" ></uses-permission>
允许程序创建模拟位置提供用于测试
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
允许程序访问有关GSM网络信息
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" ></uses-permission>
允许程序使用SurfaceFlinger底层特性
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission>
允许程序访问Wi-Fi网络状态信息
<uses-permission android:name="android.permission.ADD_SYSTEM_SERVICE" ></uses-permission>
允许程序发布系统级服务
<uses-permission android:name="android.permission.BATTERY_STATS" ></uses-permission>
允许程序更新手机电池统计信息
<uses-permission android:name="android.permission.BLUETOOTH" ></uses-permission>
允许程序连接到已配对的蓝牙设备
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" ></uses-permission>
允许程序发现和配对蓝牙设备
<uses-permission android:name="android.permission.BRICK" ></uses-permission>
请求能够禁用设备
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" ></uses-permission>
允许程序广播一个提示消息在一个应用程序包已经移除后
<uses-permission android:name="android.permission.BROADCAST_STICKY" ></uses-permission>
允许一个程序广播常用intents
<uses-permission android:name="android.permission.CALL_PHONE" ></uses-permission>
允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认
<uses-permission android:name="android.permission.CALL_PRIVILEGED" ></uses-permission>
允许一个程序拨打任何号码,包含紧急号码无需通过拨号用户界面需要用户确认
<uses-permission android:name="android.permission.CAMERA" ></uses-permission>
请求访问使用照相设备
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" ></uses-permission>
允许一个程序是否改变一个组件或其他的启用或禁用
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" ></uses-permission>
允许一个程序修改当前设置,如本地化
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" ></uses-permission>
允许程序改变网络连接状态
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ></uses-permission>
允许程序改变Wi-Fi连接状态
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" ></uses-permission>
允许一个程序清楚缓存从所有安装的程序在设备中
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" ></uses-permission>
允许一个程序清除用户设置
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" ></uses-permission>
允许启用禁止位置更新提示从无线模块
<uses-permission android:name="android.permission.DELETE_CACHE_FILES" ></uses-permission>
允许程序删除缓存文件
<uses-permission android:name="android.permission.DELETE_PACKAGES" ></uses-permission>
允许一个程序删除包
<uses-permission android:name="android.permission.DEVICE_POWER" ></uses-permission>
允许访问底层电源管理
<uses-permission android:name="android.permission.DIAGNOSTIC" ></uses-permission>
允许程序RW诊断资源
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" ></uses-permission>
允许程序禁用键盘锁
<uses-permission android:name="android.permission.DUMP" ></uses-permission>
允许程序返回状态抓取信息从系统服务
android.permission.EXPAND_STATUS_BAR
允许一个程序扩展收缩状态栏
android.permission.FACTORY_TEST
作为一个工厂测试程序,运行在root用户
android.permission.FLASHLIGHT
访问闪光灯
android.permission.FORCE_BACK
允许程序强行一个后退操作是否在顶层activities
android.permission.FOTA_UPDATE android
一个预留权限
android.permission.GET_ACCOUNTS
访问一个帐户列表在Accounts Service中
android.permission.GET_PACKAGE_SIZE
允许一个程序获取任何package占用空间容量
android.permission.GET_TASKS
允许一个程序获取信息有关当前或最近运行的任务,一个缩略的任务状态,是否活动等等
android.permission.HARDWARE_TEST
允许访问硬件
android.permission.INJECT_EVENTS
允许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流
android.permission.INSTALL_PACKAGES
允许一个程序安装packages
android.permission.INTERNAL_SYSTEM_WINDOW
允许打开窗口使用系统用户界面
android.permission.INTERNET
允许程序打开网络套接字
android.permission.MANAGE_APP_TOKENS
允许程序管理(创建、催后、z- order默认向z轴推移)程序引用在窗口管理器中
android.permission.MASTER_CLEAR
恢复出厂设置权限,清除一切用户数据
android.permission.MODIFY_AUDIO_SETTINGS
允许程序修改全局音频设置
android.permission.MODIFY_PHONE_STATE
允许修改话机状态,如电源,人机接口等
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
允许挂载和反挂载文件系统可移动存储
android.permission.PERSISTENT_ACTIVITY
允许一个程序设置他的activities显示
android.permission.PROCESS_OUTGOING_CALLS
允许程序监视、修改有关播出电话
android.permission.READ_CALENDAR
允许程序读取用户日历数据
android.permission.READ_CONTACTS
允许程序读取用户联系人数据
android.permission.READ_FRAME_BUFFER
允许程序屏幕波或和更多常规的访问帧缓冲数据
android.permission.READ_INPUT_STATE
允许程序读取底层系统日志文件
android.permission.READ_OWNER_DATA
允许程序读取所有者数据
android.permission.READ_SMS
允许程序读取短信息
android.permission.READ_SYNC_SETTINGS
允许程序读取同步设置
android.permission.READ_SYNC_STATS
允许程序读取同步状态
android.permission.REBOOT
请求能够重新启动设备
android.permission.RECEIVE_BOOT_COMPLETED
允许一个程序接收到 ACTION_BOOT_COMPLETED广播在系统完成启动
android.permission.RECEIVE_MMS
允许一个程序监控将收到MMS彩信,记录或处理
android.permission.RECEIVE_SMS
允许程序监控一个将收到短信息,记录或处理
android.permission.RECEIVE_WAP_PUSH
允许程序监控将收到WAP PUSH信息
android.permission.RECORD_AUDIO
允许程序录制音频
android.permission.REORDER_TASKS
允许程序改变Z轴排列任务
android.permission.RESTART_PACKAGES
允许程序重新启动其他程序
android.permission.SEND_SMS
允许程序发送SMS短信
android.permission.SET_ACTIVITY_WATCHER
允许程序监控或控制activities已经启动全局系统中
android.permission.SET_ALWAYS_FINISH
允许程序控制是否活动间接完成在处于后台时
android.permission.SET_ANIMATION_SCALE
修改全局信息比例
android.permission.SET_DEBUG_APP
配置一个程序用于调试
android.permission.SET_ORIENTATION
允许底层访问设置屏幕方向和实际旋转
android.permission.SET_PREFERRED_APPLICATIONS
允许一个程序修改列表参数PackageManager.addPackageToPreferred() 和PackageManager.removePackageFromPreferred()方法
android.permission.SET_PROCESS_FOREGROUND
允许程序当前运行程序强行到前台
android.permission.SET_PROCESS_LIMIT
允许设置最大的运行进程数量
android.permission.SET_TIME_ZONE
允许程序设置时间区域
android.permission.SET_WALLPAPER
允许程序设置壁纸
android.permission.SET_WALLPAPER_HINTS
允许程序设置壁纸hits
android.permission.SIGNAL_PERSISTENT_PROCESSES
允许程序请求发送信号到所有显示的进程中
android.permission.STATUS_BAR
允许程序打开、关闭或禁用状态栏及图标
android.permission.SUBSCRIBED_FEEDS_READ
允许一个程序访问订阅RSS Feed内容提供
android.permission.SUBSCRIBED_FEEDS_WRITE
系统暂时保留改设置
android.permission.SYSTEM_ALERT_WINDOW
允许一个程序打开窗口使用 TYPE_SYSTEM_ALERT,显示在其他所有程序的顶层
android.permission.VIBRATE
允许访问振动设备
android.permission.WAKE_LOCK
允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失
android.permission.WRITE_APN_SETTINGS
允许程序写入API设置
android.permission.WRITE_CALENDAR
允许一个程序写入但不读取用户日历数据
android.permission.WRITE_CONTACTS
允许程序写入但不读取用户联系人数据
android.permission.WRITE_GSERVICES
允许程序修改Google服务地图
android.permission.WRITE_OWNER_DATA
允许一个程序写入但不读取所有者数据
android.permission.WRITE_SETTINGS
允许程序读取或写入系统设置
android.permission.WRITE_SMS
允许程序写短信
android.permission.WRITE_SYNC_SETTINGS
允许程序写入同步设置