Вот пример моего кода, который учитывает предпочтение пользователей только разрешать передачу сообщений при подключении к Wi-Fi.
Я вызываю этот код изнутри IntentService
, прежде чем пытаться загрузить материал.
Обратите внимание, что NetworkInfo
будет null
, если нет какого-либо сетевого подключения.
private boolean canConnect()
{
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
boolean canConnect = false;
boolean wifiOnly = SharedPreferencesUtils.wifiOnly();
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo != null)
{
if(networkInfo.isConnected())
{
if((networkInfo.getType() == ConnectivityManager.TYPE_WIFI) ||
(networkInfo.getType() != ConnectivityManager.TYPE_WIFI && !wifiOnly))
{
canConnect = true;
}
}
}
return canConnect;
}