我需要接收网络连接状态变化等网络操作的广播。为此,我使用了一个广播接收器。请问有人能告诉我需要捕获哪个意图动作来处理网络事件?根据我在互联网上的搜索,目前我正在使用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>
请建议我正确的意图操作,如果我错了或者有其他方法来捕获网络事件,请告诉我。
android.net.ConnectivityManager.CONNECTIVITY_ACTION
的值是android.net.conn.CONNECTIVITY_CHANGE
,它是与意图操作匹配的。 - FabiF