欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-11-29 08:14:58
复制代码 代码如下: public void oncreate(bundle savedinstancestate) { super.oncreate(savedinsta...
复制代码 代码如下:

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,而且免去本地判断跳转远程地址中间空白页面