我怎麼知道我的設備是否連接到網絡?我如何檢測連接?任何示例代碼?如何檢查Android設備是否連接到網絡?
回答
首先,你需要許可才能知道設備是否連接到網絡或沒有。這需要在您的清單,在<manifest>
元素:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
接下來,你需要去的ConnectivityManager參考:
ConnectivityManager cm = (ConnectivityManager) Context.getSystemService(Context.CONNECTIVITY_SERVICE);
從那裏,你需要獲得一個NetworkInfo對象。對於大多數人來說,這將意味着使用ConnectivityManager. getActiveNetworkInfo():
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
return false;
}
從那裏,你只需要使用的NetworkInfo的方法之一,以確定該設備連接到互聯網:
boolean isConnected = ni.isConnected();
我得到這個說法一個空指針異常的可能重複:布爾isConnected = ni.isConnected(); 爲什麼? – 2010-05-18 10:08:02
是的,我也是! – xpepermint 2011-07-02 22:05:49
@Maxood,這意味着沒有活動的網絡。換句話說,該設備沒有連接到網絡。我會改變代碼。 – 2011-10-21 03:01:55
http://developer.android.com/reference/android/net/ConnectivityManager.html - CONNECTIVITY_ACTION
首先,你需要有權知道設備是否連接到網絡。這需要在你的清單中的元素:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
然後
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if (connec != null && (
(connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) ||
(connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED))) {
//You are connected, do something online.
} else if (connec != null && (
(connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) ||
(connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED))) {
//Not connected.
Toast.makeText(getApplicationContext(), "You must be connected to the internet", Toast.LENGTH_LONG).show();
}
在AppManifest.xml文件中添加此權限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
的方法檢查如果網絡可用或不可用:
boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
return isConnected;
}
- 1. 檢查,如果Android設備連接到網絡
- 2. 如何檢查網絡是否連接到android
- 3. 檢查是否連接到網絡; jQuery
- 4. Android - 檢查設備是否連接到互聯網
- 5. Android檢查設備是否能夠連接到蜂窩數據網絡
- 6. 檢查設備是否具有網絡連接
- 7. 如何檢查Android設備是否連接到藍牙鼠標?
- 8. 如何檢查黑莓設備是否連接到互聯網連接?
- 9. 檢查網絡連接android
- 10. 檢查網絡連接android
- 11. 檢查網絡連接是否可用
- 12. 如何檢查我的android設備是否有連接?
- 13. 如何檢查移動網絡是否連接到互聯網或不在android
- 14. 檢測Android設備是否連接到互聯網
- 15. iphone - 我如何檢查我是否連接到無線網絡
- 16. 如何檢查用戶是否連接到無線網絡?
- 17. UWP-如何檢查是否連接到Wifi網絡
- 18. 檢查設備是否連接到互聯網的Swift2
- 19. 如何檢查設備是否連接到系統?
- 20. 如何檢測連接到同一網絡的設備的IP
- 21. 如何查看設備連接的wifi網絡連接速度?
- 22. 檢查網絡連接在android中是否可用?
- 23. 如何檢查互聯網連接的設備的Android
- 24. Android,連接到wifi網絡時如何覆蓋互聯網連接檢查?
- 25. 如何檢查網絡連接是否可用在iphone
- 26. 如何在Angular2中檢查用戶是否有網絡連接?
- 27. 如何檢查網絡攝像頭是否連接在java中?
- 28. 繼續檢查設備是否具有互聯網連接
- 29. 連接到java中的網絡設備
- 30. 如何檢測Android設備是否與外部鍵盤連接?
[安卓檢查互聯網連接(http://stackoverflow.com/questions/9570237/android-check-internet-connection) – 2017-02-09 12:10:33