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);//註冊監聽器;
相關文章
相關標籤/搜索