Подключитесь к Интернету автоматически

Я разрабатываю приложение для Android-чата. При запуске приложение запускает службу. Служба подключается к серверу чата. Если по какой-либо причине соединение опускается, пользователь может нажать кнопку и вызвать функцию reconnect ().

Приложение работает на мобильном устройстве. Приложение подключается к Интернету через Wi-Fi. Если пользователь, идущий со своим телефоном, выходит из зоны покрытия Wi-Fi, соединение идет вниз. Я хочу, чтобы мое приложение автоматически пыталось подключиться к Интернету в таких случаях. Каков наилучший способ сделать это, на ваш взгляд?

Solutions Collecting From Web of "Подключитесь к Интернету автоматически"

Добавить в манифест:

... <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"> </uses-permission> ... <receiver android:name=".Internet" android:enabled="true"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> ... 

Получатель:

  package YourPackage; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class Internet extends BroadcastReceiver { @Override public void onReceive(final Context context, Intent intent) { if (intent.getAction().equalsIgnoreCase("android.net.conn.CONNECTIVITY_CHANGE")) { if isInternet(context) { // Your Code } } } public boolean isInternet(Context context) { ConnectivityManager IM = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = IM.getActiveNetworkInfo(); return activeNetworkInfo != null; } }