Potrzebuję odbierać transmisje dla akcji sieciowych, takich jak sieć podłączona, odłączona itp. Używam odbiornika telewizyjnego do tego celu. Czy ktokolwiek może mi powiedzieć, które działania intencji muszę przechwycić dla zdarzeń sieciowych, teraz, jak na moje wyszukiwanie w Internecie Używam android.net.ConnectivityManager.CONNECTIVITY_ACTION.Działanie intencji dla zdarzeń sieciowych w systemie Android sdk
Oto moja klasa odbiornik transmisji:
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..
}
}
}
i Dodałem także uprawnienia dostępu stan sieci:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Oto jak ja zadeklarowały tej klasy w pliku manifestu
<receiver class=".NetworkStateReceiver" android:name=".NetworkStateReceiver">
<intent-filter>
<action android:name="android.net.ConnectivityManager.CONNECTIVITY_ACTION" />
</intent-filter>
</receiver>
Proszę zasugerować mi właściwe działanie, jeśli się mylę LUB jeśli jest jakakolwiek inna droga łapać zdarzenia sieciowe.
Według mojego testu I nie trzeba żadnych uprawnień do odbiera transmisje, czy wlan jest teraz w górę/w dół, czy 3g jest teraz w górę/w dół. Jestem trochę zdezorientowany, co jest android.net.conn.CONNECTIVITY_CHANGE, a następnie dobre dla? –
Jeśli spojrzysz jeszcze raz, zobaczysz, że CONNECTIVITY_CHANGE nie jest uprawnieniem, to rejestracja odbiornika intent (który możesz alternatywnie zrobić w kodzie). – Hamid
Odpowiedź wygląda tak samo jak pytanie. Dlaczego więc NIE działa przed odpowiedzią? –