Androidで接続が利用可能かどうかを確認するにはどうすればよいですか?
多くのコードを試しましたが、正しい結果が得られませんでした。
この関数を入れて、アクティビティの開始時に呼び出します。
void checkInternetConnectionStatus()
{
ConnectivityManager connMgr = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isAvailable()) {
/*
* Toast.makeText(this, "Wi-Fi connection enabled",
* Toast.LENGTH_LONG) .show();
*/
} else if (mobile.isAvailable()) {
/*
* Toast.makeText(this, "Mobile Internet enabled",
* Toast.LENGTH_LONG) .show();
*/
} else {
Toast.makeText(this, "No Internet Connection", Toast.LENGTH_LONG)
.show();
new AlertDialog.Builder(this)
.setTitle("No internet connection active")
.setMessage("Please start internet connection and run this application.")
.setNegativeButton(
"Exit",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.d("AlertDialog", "Negative");
finish();
}
}).show();
}
}
インターネット接続を確認しようとしている場合は、次を使用します。
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
// If no network is available networkInfo will be null,
// otherwise check if we are connected.
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}
たぶんこれが役立ちます:
ConnectivityManager conn = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = conn.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifi.isConnected()) {
// Do your code
}
また、AndroidManifest.xml に追加する必要があります。
android.permission.ACCESS_NETWORK_STATE
また、このリンクも役立ちます: