Поглощенное действие для сетевых событий в андроиде sdk

Я должен получить широковещательные сообщения для сетевых действий как сеть, соединенная, разъединенная и т.д. Я использую бытовой радиоприемник с этой целью. Может любой говорить мне, какое поглощенное действие я должен получить для сетевых событий, прямо сейчас согласно моему поиску в Интернете, я использую android.net. ConnectivityManager. CONNECTIVITY_ACTION.

Вот мой класс бытового радиоприемника:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class NetworkStateReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub


    if (intent.getAction().equals(
            android.net.ConnectivityManager.CONNECTIVITY_ACTION)) {

        // do something..
    }
}
}

и я также добавил разрешение для доступа к состоянию сети:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

вот то, как я объявил этот класс в файле манифеста

<receiver class=".NetworkStateReceiver" android:name=".NetworkStateReceiver">
    <intent-filter>
            <action android:name="android.net.ConnectivityManager.CONNECTIVITY_ACTION" />
    </intent-filter>
</receiver>

Предложите меня правильное поглощенное действие, если я неправ ИЛИ если существует какой-либо другой способ поймать сетевые события.

38
задан Janusz 15 December 2010 в 10:03
поделиться

1 ответ

Вот рабочий пример:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<receiver android:name=".receiver.ConnectivityReceiver">
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>

public class ConnectivityReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d(ConnectivityReceiver.class.getSimpleName(), "action: "
                + intent.getAction());
    }

}
51
ответ дан 27 November 2019 в 03:45
поделиться
Другие вопросы по тегам:

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