J'ai besoin de recevoir des émissions pour les actions réseau comme le réseau connecté, déconnecté, etc. J'utilise un récepteur de diffusion à cette fin. Quelqu'un peut-il me dire quelle action d'intention je dois capturer pour les événements de réseau, en ce moment, selon ma recherche sur internet, j'utilise android.net.ConnectivityManager.CONNECTIVITY_ACTION.Action d'intention pour les événements réseau dans android sdk
Voici ma classe de récepteur de radiodiffusion:
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..
}
}
}
et je l'ai également ajouté l'autorisation d'accès à l'état du réseau:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
voici comment je l'ai déclaré cette classe dans le fichier manifeste
<receiver class=".NetworkStateReceiver" android:name=".NetworkStateReceiver">
<intent-filter>
<action android:name="android.net.ConnectivityManager.CONNECTIVITY_ACTION" />
</intent-filter>
</receiver>
S'il vous plaît me suggérer la bonne action d'intention si je me trompe OU s'il y a un autre moyen pour attraper des événements de réseau.
Selon mon test, je ne ai pas besoin d'aucune autorisation de recevoir des émissions si WLAN est maintenant haut/bas ou 3g est maintenant haut/bas. Je suis un peu confus, à quoi sert android.net.conn.CONNECTIVITY_CHANGE? –
Si vous regardez à nouveau, vous verrez que CONNECTIVITY_CHANGE n'est pas une permission, c'est l'enregistrement d'un récepteur d'intention (que vous pouvez faire alternativement dans le code). – Hamid
La réponse est la même que la question. Alors pourquoi n'a-t-il PAS fonctionné avant la réponse? –