У меня есть класс, который проверяет, подключен ли или не Интернет, а мои приложения работает:Проверка подключения к Интернету с Broadcast Receiver не работает
public class NetworkChangeReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
if (isConnected){
Toast.makeText(context, "CONNECTED!", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(context, "NOT CONNECTED", Toast.LENGTH_LONG).show();
}
}}
Я добавил этот приемник в моем файле манифеста, между скобками приложения
<receiver
android:name=".DataHelpers.NetworkChangeReciever"//DataHelpers is the package name
android:label="NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
Теперь я немного смущен. Когда я запускаю свое приложение, которое полагается на интернет, и отключает соединение, не должен ли я получать сообщение Toast, которое говорит «Connected!»? Должен ли приемник не признать, что соединение отсутствует и отключено метод onReceive() в моем классе NetworkChangerReciever? Что мне здесь не хватает? Спасибо.
сделал и зарегистрировать свой приемник на onResume активность в? – rafsanahmad007
Нет, как мне это сделать? Не могли бы вы написать ответ? Я думал, что регистрация означает только включение в файл манифеста? –