私のアプリケーションでは、携帯電話がインターネットに接続されているかどうか、WIFIまたはモバイルデータ接続を使用しているかどうかを確認しています。デバイスはWIFIに接続されています。ブール唯一のfalseを返すインターネット接続をチェックする方法
ここでは、インターネット接続を調べるコードを示します。
public class InternetDetector {
private Context mcontext;
public InternetDetector(Context context) {
this.mcontext = context;
}
public boolean checkMobileInternetConn() {
ConnectivityManager connectivity = (ConnectivityManager) mcontext
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo info = connectivity.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (info != null) {
if (info.isConnected()) {
return true;
}
}
}
else if (connectivity != null) {
NetworkInfo info = connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (info != null) {
if (info.isConnected()) {
return true;
}
}
}
return false;
}
}
と、これは私はコードは、常に他の部分に行くといつもトーストを示しているconnection.Butをチェックするために他の活動でこのクラスを使用しています方法です。私は、マニフェストファイルの下に与えられている
if (allValid) {
isConnectionExist = internetDetector.checkMobileInternetConn();
if (isConnectionExist) {
try {
new MyAsyncClass().execute();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(), ex.toString(), Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(getApplicationContext(), "No Internet Connection", Toast.LENGTH_SHORT).show();
}
}
権限は以下のとおりです。 -
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
[Android:3G/WifiネットワークがオンかAndroidデバイスで使用可能かどうか](https://stackoverflow.com/questions/11343249/android-check-3g-or-wifi- network-on-on-or-on-and-on-android-device) –