android 线程引起应用不响应

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条件就好了