Tôi không muốn ứng dụng của mình gặp sự cố nếu người dùng không có kết nối wifi hoặc 3g. Làm thế nào tôi có thể nắm bắt điều này khi chạy trong ứng dụng của tôi?Làm thế nào để phát hiện xem người dùng có 3G/Wifi trước khi thực hiện kết nối URL?
6
A
Trả lời
7
Đầu tiên hãy tham khảo ConnectivityManager và sau đó check the Wifi and 3G status của thiết bị. Bạn sẽ cần quyền ACCESS_NETWORK_STATE để sử dụng dịch vụ này.
ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mMobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mWifi.isConnected() == false && mMobile.isConnected() == false) {
showDialog(DIALOG_NETWORK_UNAVAILABLE);
}
1
connManager.getNetworkInfo (ConnectivityManager.TYPE_WIFI) không được dùng nữa.
Dưới đây là giải pháp được cải thiện cho SDK Android mới nhất.
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);
boolean is3gEnabled = false;
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Network[] networks = connManager.getAllNetworks();
for(Network network: networks)
{
NetworkInfo info = connManager.getNetworkInfo(network);
if(info!=null) {
if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
is3gEnabled = true;
break;
}
}
}
}
else
{
NetworkInfo mMobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(mMobile!=null)
is3gEnabled = true;
}
Các vấn đề liên quan
- 1. Làm cách nào để người dùng ứng dụng biết kết nối được thực hiện qua SSL?
- 2. Làm thế nào để phát hiện có thể phát hiện khi người dùng cài đặt ứng dụng ios từ liên kết được cung cấp?
- 3. Phát hiện xem mã thông báo giao diện người dùng có sẵn để thực thi
- 4. Làm cách nào để phát hiện xem máy ảnh có bị hạn chế bởi người dùng
- 5. Làm thế nào để phát hiện xem stdout được kết nối với một tty trong Perl?
- 6. Cách phát hiện nhiều kết nối socket.io từ cùng một người dùng
- 7. Phát hiện khi CodeIgniter không kết nối được với Db
- 8. Phát hiện khi màn hình mới được kết nối
- 9. Thực hiện dịch vụ phát trực tuyến WSGI: (cách phát hiện ngắt kết nối máy khách)
- 10. Phát hiện xem người dùng web hiện có đăng nhập vào Google không?
- 11. Làm thế nào để phát hiện khi cáp nguồn laptop bị ngắt kết nối?
- 12. Phát hiện cửa sổ bật lên trước khi người dùng đăng nhập
- 13. Phát hiện người dùng trực tuyến?
- 14. Có thể nào để xác thực người dùng khi kết nối websocket được sử dụng?
- 15. Phát hiện ngắt kết nối người dùng/khách hàng trong PHP
- 16. Thực hiện lệnh in cmake trước khi thực hiện
- 17. Ngăn IIS thực hiện nhiệm vụ trước khi kết thúc
- 18. Javascript để phát hiện xem người dùng có thay đổi tab
- 19. Cách thực hiện Làm mới trang web khi người dùng chuyển sang chế độ xem ngang
- 20. cách phát hiện khi MotionEvent.ACTION_MOVE kết thúc
- 21. Làm thế nào để phát hiện tốc độ kết nối Internet với Java?
- 22. Làm thế nào để phát hiện bàn phím của người dùng là Swype?
- 23. Làm cách nào để tôi có thể phát hiện xem người dùng đã nhấp đúp vào pygame chưa?
- 24. Phát hiện khi người dùng nhấn enter trong Java
- 25. Làm cách nào để thực hiện truy vấn khi kết nối DB trong Rails?
- 26. Làm cách nào để tôi có thể phát hiện xem người dùng đã chọn từ tùy chọn createChooser?
- 27. Làm cách nào để phát hiện khi người dùng đã nhấn nút tắt nguồn?
- 28. NIO - Phát hiện kết nối đã đóng
- 29. Làm cách nào để phát hiện xem đường ray có ở url gốc không?
- 30. Làm cách nào để phát hiện khi người dùng đang di chuyển tích cực?
Xem [ cách kiểm tra conection internet trong android? ] (http://stackoverflow.com/questions/2326767/how-to-check-internet-conection-in-android). –