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时,程序没有响应,为什么?

2个回答

你需要监听ConnectivityManager.CONNECTIVITY_ACTION的广播来触发检测网络。

你的线程里无限循环,你加一个break条件就好了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问