0
我尝试实现网络接收器,这是我下面的代码:网络接收器不工作
package com.example.androidtablayout;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
public class NetworkReceiver extends BroadcastReceiver { // <1>
public static final String TAG = "NetworkReceiver";
boolean isConnected = true;
Context c;
@Override
public void onReceive(Context context, Intent intent) {
boolean isNetworkDown = intent.getBooleanExtra(
ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); // <2>
if (isNetworkDown) {
Log.d(TAG, "onReceive: NOT connected, stopping UpdaterService");
// context.stopService(new Intent(context, UpdaterService.class)); // <3>
} else {
Log.d(TAG, "onReceive: connected, starting UpdaterService");
// context.startService(new Intent(context, UpdaterService.class)); // <4>
}
}
}
在manifest.xml
<application>
<receiver android:name=".NetworkReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
我的问题是,当我关掉无线网络,日志仍然显示“连接”,
我认为网络接收器没有正确接收intenet连接。任何帮助将不胜感激。
当您关闭WiFi时,onReceive()会被触发吗? – Egor 2012-07-08 16:52:24
是的,我可以看到 – smith 2012-07-08 17:14:35
下的日志消息在onReceive()方法中设置一个断点,并查看您获得的Intent。要么是,要么添加一些打印出Intent及其EXTRAS内容的日志记录。我认为你没有得到你认为你应该得到的EXTRAS。 – 2012-07-08 19:58:40