Сетевой слушатель Android

@Curt Hagenlocher - это наоборот. Я понятия не имею, почему так многие проголосовали за него, когда это неправильно.

IDisposable для , справился ресурсы.

Финализаторы для неуправляемы ресурсы.

, пока Вы только используете управляемые ресурсы и @Jon Limjap и я, совершенно корректны.

Для классов, которые используют неуправляемые ресурсы (и принимают во внимание, что подавляющее большинство.Net классов не делает) ответ Patrik является всесторонней и лучшей практикой.

Избегают использования GC.Collect - это - медленный способ иметь дело с управляемыми ресурсами, и ничего не делает с неуправляемыми, если Вы правильно не создали свой ~Finalizers.

я удалил комментарий модератора из исходного вопроса в соответствии с https://stackoverflow.com/questions/14593/etiquette-for-modifying-posts

61
задан Kara 11 July 2016 в 15:50
поделиться

1 ответ

New java class:

public class ConnectionChangeReceiver extends BroadcastReceiver
{
  @Override
  public void onReceive( Context context, Intent intent )
  {
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE );
    NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
    NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(     ConnectivityManager.TYPE_MOBILE );
    if ( activeNetInfo != null )
    {
      Toast.makeText( context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
    }
    if( mobNetInfo != null )
    {
      Toast.makeText( context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
    }
  }
}

New xml in your AndroidManifest.xml under the "manifest" element:

<!-- Needed to check when the network connection changes -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

New xml in your AndroidManifest.xml under the "application" element:

<receiver android:name="com.blackboard.androidtest.receiver.ConnectionChangeReceiver"
          android:label="NetworkConnection">
  <intent-filter>
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
  </intent-filter>
</receiver>
147
ответ дан 24 November 2019 в 17:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: