デバイスでインターネットデータを有効にすると、ネットワークに E が表示されます。しかし、SIMにデータパックがなく、インターネットがどのアプリでも機能していません。このコードを使用したところ、インターネットが存在するという true が返されました。この場合、インターネットが機能しているかどうかを確認する方法:
public static boolean isConnectingToInternetLatest(Context mContext) {
ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Network[] networks = connectivityManager.getAllNetworks();
NetworkInfo networkInfo;
for (Network mNetwork : networks) {
networkInfo = connectivityManager.getNetworkInfo(mNetwork);
if (networkInfo.getState().equals(NetworkInfo.State.CONNECTED)) {
return true;
}
}
} else {
if (connectivityManager != null) {
//noinspection deprecation
NetworkInfo[] info = connectivityManager.getAllNetworkInfo();
if (info != null) {
for (NetworkInfo anInfo : info) {
if (anInfo.getState() == NetworkInfo.State.CONNECTED) {
//Log.d("Network", "NETWORK NAME: " + anInfo.getTypeName());
return true;
}
}
}
}
}
return false;
}