0

HTTPクライアントを使用してサーバー上でxmlを解析しています...そして、インターネットが接続されているかどうかを条件にしたいと思います。

クラス testConnection は次のとおりです。

    public boolean testConnection()
        {
            ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo netInfo = cm.getActiveNetworkInfo();
            if (netInfo != null && netInfo.isConnected()) 
            {
               Log.d("NetWork :", "Network available");
               return true;
            } 
            else 
            {
                Log.d("NetWork :", "Network not available");
                return false;
            }
        }

そして、私の asyncTask クラスは正常に動作します。そして、アクティビティのonCreateメソッドに条件を入れます:

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
         setContentView(R.layout.main);
    //asyncTask is main thread class that parsing xml from server
    asyncTask task = new asyncTask();
    if(testConnection())
    {
        task.execute();
    }
    else
    {
        startActivity(new Intent("com.airport.testConnection"));
    }

}

そして問題は、インターネット接続を閉じて(wifiを無効にして)アプリケーションを開くと、常にクラッシュすることです。

すべての回答とコメントをいただければ幸いです....

4

1 に答える 1

0

アクティビティの開始時にコンテキスト(this)を渡します

于 2012-10-29T11:53:37.230 に答える