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

复制代码 代码如下:

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

时间: 2024-09-20 14:52:48

android判断phonegap是否联网且加载super.loadUrl网址_Android的相关文章

Android App中实现图片异步加载的实例分享_Android

一.概述一般大量图片的加载,比如GridView实现手机的相册功能,一般会用到LruCache,线程池,任务队列等:那么异步消息处理可以用哪呢? 1.用于UI线程当Bitmap加载完成后更新ImageView 2.在图片加载类初始化时,我们会在一个子线程中维护一个Loop实例,当然子线程中也就有了MessageQueue,Looper会一直在那loop停着等待消息的到达,当有消息到达时,从任务队列按照队列调度的方式(FIFO,LIFO等),取出一个任务放入线程池中进行处理. 简易的一个流程:当需

从源码分析Android的Glide库的图片加载流程及特点_Android

0.基础知识Glide中有一部分单词,我不知道用什么中文可以确切的表达出含义,用英文单词可能在行文中更加合适,还有一些词在Glide中有特别的含义,我理解的可能也不深入,这里先记录一下. (1)View: 一般情况下,指Android中的View及其子类控件(包括自定义的),尤其指ImageView.这些控件可在上面绘制Drawable (2)Target: Glide中重要的概念,目标.它即可以指封装了一个View的Target(ViewTarget),也可以不包含View(SimpleTar

解决Android ListView数据为空及加载错误的方法_Android

在项目中,都会用到ListView或GridView等列表控件.一般会用来展示从网络请求的数据 .如果请求的数据为空或者在请求的时候正好无没有网络了,我们的界面应该如何展示呢?数据为空的时候,ListView可以使用setEmptyView (View emptyView) 方法来我们需要的统一界面.数据加载失败呢?我们也可以统一进行处理. //下面这个类是简单地封装用于无数据及加载错误的一个页面. public class CommonShowView { private Context mC

Android带数字或红点的底部导航拦和联网等待加载动画示例

Android带数字或红点的底部导航拦和联网等待加载动画 首先展示一下截图效果,下载地址在文章最后 一.Android带红点的底部导航拦 1.首先写底部导航栏的界面view_main_tab.xml. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and

Android下拉刷新上拉加载控件(适用于所有View)_Android

     前面写过一篇关于下拉刷新控件的文章下拉刷新控件终结者:PullToRefreshLayout,后来看到好多人还有上拉加载更多的需求,于是就在前面下拉刷新控件的基础上进行了改进,加了上拉加载的功能.不仅如此,我已经把它改成了对所有View都通用!可以随心所欲使用这两个功能~~     我做了一个大集合的demo,实现了ListView.GridView.ExpandableListView.ScrollView.WebView.ImageView.TextView的下拉刷新和上拉加载.后

Android下拉刷新上拉加载控件(适用于所有View)

前面写过一篇关于下拉刷新控件的文章下拉刷新控件终结者:PullToRefreshLayout,后来看到好多人还有上拉加载更多的需求,于是就在前面下拉刷新控件的基础上进行了改进,加了上拉加载的功能.不仅如此,我已经把它改成了对所有View都通用!可以随心所欲使用这两个功能~~ 我做了一个大集合的demo,实现了ListView.GridView.ExpandableListView.ScrollView.WebView.ImageView.TextView的下拉刷新和上拉加载.后面会提供demo的

android的百度离线地图无法加载离线地图包

问题描述 android的百度离线地图无法加载离线地图包 我是先将从官网下载的离线包解压,把vmp文件夹拷入SD卡根目录下的BaiduMapSDK文件夹内 在程序加载时调用本地的离线地图包,但总是提示无法加载离线地图包. 请高手指点一下什么原因. /** 离线地图初始化 **/ mOffline = new MKOfflineMap(); mOffline.init(new MKOfflineMapListener() { public void onGetOfflineMapState(int

Android实现ListView分页自动加载数据的方法_Android

Android应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页的形式来展示数据,个人觉得这样会有更好的用户体验.因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.例如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"查看更多"按钮,用户点击后,加载下一页数据. 下面通过一个Demo来展示ListView功能如何实现:该Demo通过在ListVie

屏幕尺寸-[android 界面]7寸的平板加载了小尺寸的布局

问题描述 [android 界面]7寸的平板加载了小尺寸的布局 写了一个Android程序,现在问题是我的一个7英寸的平板电脑加载了小尺寸的布局,.平板的分辨率是1280*800. 我在ldpi,hdpi,mdpi,xhdpi,sw600,sw800里面都放了不同分辨率的图片.但是我用另一个7英寸的平板就是正常的,分辨率一样,但品牌不一样.求解. 解决方案 sw600dp,这个计算的是dp,不是px. 平板的分辨率是1280*800这个说的是px,你需要算一下.然后看这个平板落到那个dp下.