activity注册了一个observer,代码如下:
activity:
//Register for network status updates
NetworkStatus networkStatus = new NetworkStatus(this);
networkStatus.addObserver(new OfflineActivity());
Thread thread = new Thread(networkStatus);
thread.run();
Subject:
@Override
public void run() {
for(;;) {
Log.d("NetworkStatus", "Checking Network Status");
if(isConnectedToInternet(context)){
notifyObservers();
Log.d("NetworkStatus", "Network Connection is established");
}
else {
Log.d("NetworkStatus", "Not connected to network");
}
}
}
当我点到activity时,程序没有响应,为什么?
你需要监听ConnectivityManager.CONNECTIVITY_ACTION的广播来触发检测网络。
你的线程里无限循环,你加一个break条件就好了