2 annbnncnnd AnnBnnCnnD 于 2013.02.01 13:59 提问

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个回答

cytown
cytown   2013.02.01 18:21
已采纳

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

ce_la_vie
ce_la_vie   2013.02.01 14:49

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!