android判断phonegap是否联网且加载super.loadUrl网址【转】

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
super.setIntegerProperty("splashscreen", R.drawable.splash); 
ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo info = cwjManager.getActiveNetworkInfo(); 
if (info != null && info.isAvailable()){ 
super.loadUrl("http://www.xxx.com",4500); 

else 

super.loadUrl("file:///android_asset/www/error.html", 4500); 



解释下 第四行 显示启动画面 
第七行判断是否联网 如果联网加载远程地址 如果不联网加载本地地址 
别忘网络权限 
error.html错误界面代码 
主要js代码 

复制代码代码如下:

document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() { 
checkConnection(); 
document.addEventListener("backbutton", eventBackButton, false); //返回键 
//document.addEventListener("menubutton", eventMenuButton, false); //menu 

function checkConnection() { 
var networkState = navigator.network.connection.type; 
if( networkState == Connection.NONE ) { 
navigator.notification.confirm('请确认网络连接已经开启', showAlert , '提示', '确定'); 
return false; 


function showAlert(button) { 
if( button==1 ) { 
navigator.app.exitApp(); 

return false; 

function eventBackButton(){ 
navigator.notification.confirm('确认退出?', showConfirm, '退出软件', '确定,取消'); 

function showConfirm(button) { 
if( button==1 ) { 
document.removeEventListener("backbutton", eventBackButton, false); //注销返回键 
navigator.app.exitApp(); 


曾经有人很奇怪为什么要用java判断是否联网而不直接在js里面判断主要原因: 
1,不愿意让他显示www.xxxxx.com网址不能访问情况 
2,避免直接访问实际网址 
3,而且免去本地判断跳转远程地址中间空白页面

posted on 2013-04-13 22:19  liyingming  阅读(306)  评论(0编辑  收藏  举报

导航