編輯:關於Android編程
本文實例講述了Android編程判斷網絡連接是否可用的方法。分享給大家供大家參考,具體如下:
為了提高用戶體驗,我們在開發 android 應用的過程需要聯網獲取數據的時候我們首先要做的一步就是:
1.判斷當前手機是否打開了網絡
2.打開了網絡是否可以上網
然後再去執行聯網邏輯,避免沒聯網做不必要的工作!
通常情況下,我們是這樣判斷的
public static boolean isNetAvailable(Context context) { ConnectivityManager connectManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); return (connectManager.getActiveNetworkInfo() != null); }
但是這樣只完成了第一步,判斷網絡是否打開,
注意:打開並不代表就可以上網,
觀察發現 NetworkInfo 有一個方法:
復制代碼 代碼如下:NetworkInfo.isAvailable()
官方的解釋是
Indicates whether network connectivity is possible. A network is unavailable when a persistent or semi-persistent condition prevents the possibility of connecting to that network. Examples include
The device is out of the coverage area for any network of this type.
The device is on a network other than the home network (i.e., roaming), and data roaming has been disabled.
The device's radio is turned off, e.g., because airplane mode is enabled.
Returns:
true if the network is available, false otherwise
他列舉了幾種網絡已連接但不可以上網的情況,
所以我們這樣改改就好了:
public static boolean isNetAvailable(Context context) { ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); return (info != null && info.isAvailable()); }
希望本文所述對大家Android程序設計有所幫助。
隨著蘋果向iPhone6以上的機型推送VoLTE高清語音通話運營商配置更新文件,更多網友開始關注這一新的語音技術,那麼現在國內有哪些手機是支持VoLTE高清
點擊按鈕,先自動進行下拉刷新,也可以手動刷新,刷新完後,最後就多一行數據。有四個選項卡。前兩天導師要求做一個給本科學生預定機房座位的app,出發點來自這裡。做著做著遇到很
原文地址:http://android.xsoftlab.net/training/graphics/opengl/draw.html在定義了圖形之後,你接下來需要做的就
今天群裡邊有人問怎麼自定義Android holo主題下的Progressbar; 我想到之前做過自定義Progressbar,通過自己寫動畫和Style可以用任何圖片當