Android cordova 监听网络变化加载不一样的URL

当没有网络的时候加载本地的index.html;html

有网络的时候加载一个链接如 http://www.baidu.com/;网络

经过监听网络的变化,有加载不一样的URL;ide

1.cordova version>=3.0 的加载本地的方式已经改变;以下;spa

loadUrl(launchUrl);

能够经过修改根目录下的config.xml 中code

<content src="index.html" /> 

来修改加载不一样的本地页面;xml

2. 加载网络上的某个页面,能够直接把地址写入便可;htm

loadUrl("http://www.baidu.com/");

3.手机中网络的变化都会发出一个广播,经过监听这个广播,来修改加载的页面;cordova

        mReceiver = new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
                    Log.d(tag, "网络状态已经改变");
                    connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
                    info = connectivityManager.getActiveNetworkInfo();
                    if (info != null && info.isAvailable()) {
                        String name = info.getTypeName();
                        Log.d(tag, "当前网络名称:" + name);
                        // doSomething()
                        loadUrl("http://www.baidu.com/");
                        mClearHistory();
                    } else {
                        Log.d(tag, "没有可用网络");
                        // doSomething()
                        
                        loadUrl(launchUrl);
                        
                    }
                }
            }
        };
        IntentFilter mFilter = new IntentFilter();
        mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);//过滤;
        registerReceiver(mReceiver, mFilter);//注册监听器;
相关文章
相关标签/搜索