在我的应用程序中,我希望能够检查互联网连接是否可用。
我想要的是什么:
假设连接不可用,应用程序应重定向到设置页面以设置“启用连接”。
以下是我找到连接可用性的代码...
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();
}
请给出建议......
答案 0 :(得分:1)
您可以尝试
if (networkDetails.isEmpty()) {
Intent myIntent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
startActivity(myIntent);
}
这将显示设置以允许配置无线控制,如Wi-Fi,蓝牙和移动网络。