2013-12-16 31 views
-1

在我的应用程序中,我希望能够检查互联网连接是否可用。如何处理如果互联网连接在android中不可用?

正是我想要的:

假设连接不可用,应用程序应该重定向到一个设置页面设​​置“启用连接”。

这里是我的代码,找出连接可用性...

public Map<String, String> getConnectionDetails(Context context) { 
    Map<String, String> networkDetails = new HashMap<String, String>(); 
    try { 
     ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo wifiNetwork = connectivityManager 
       .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
     if (wifiNetwork != null && wifiNetwork.isConnected()) { 

      networkDetails.put("Type", wifiNetwork.getTypeName()); 
      networkDetails.put("Sub type", wifiNetwork.getSubtypeName()); 
      networkDetails.put("State", wifiNetwork.getState().name()); 
     } 

     NetworkInfo mobileNetwork = connectivityManager 
       .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
     if (mobileNetwork != null && mobileNetwork.isConnected()) { 
      networkDetails.put("Type", mobileNetwork.getTypeName()); 
      networkDetails.put("Sub type", mobileNetwork.getSubtypeName()); 
      networkDetails.put("State", mobileNetwork.getState().name()); 
      if (mobileNetwork.isRoaming()) { 
       networkDetails.put("Roming", "YES"); 
      } else { 
       networkDetails.put("Roming", "NO"); 
      } 
     } 
    } catch (Exception e) { 
     networkDetails.put("Status", e.getMessage()); 
    } 
    return networkDetails; 
} 

而且我一卷像烤面包味精遵循

Map<String, String> networkDetails = networkstate.getConnectionDetails(getApplicationContext()); 
    if (networkDetails.isEmpty()) { 
     Toast.makeText(getApplicationContext(), "Internet Connection unavailable", Toast.LENGTH_SHORT).show(); 
    } else { 
     Toast.makeText(getApplicationContext(), "Internet Connection available", Toast.LENGTH_SHORT).show(); 
    } 

请给建议...

回答

1

你可以试试像

if (networkDetails.isEmpty()) { 
     Intent myIntent = new Intent(Settings.ACTION_WIRELESS_SETTINGS); 
     startActivity(myIntent); 
    } 

这将显示设置以允许配置无线控制,如Wi-Fi,蓝牙和移动网络。

+0

什么我要导入无线设置有很多进口建议 –

+0

@AristoMichael导入android.provider.Settings; –

相关问题