0

TextViewインターネット接続を常に確認し、接続が表示されるかどうかを変更したいと思います。しかし、TextViewアプリケーションを更新するまで変更されません。これが私の現在のコードです:

    TextView offline;
    public void run() {
  try {
    Looper.prepare();

    new Handler();
        if(isInternetOn()) {
            swebview.reload();
            offline.setText(null);
            }else{
                swebview.reload();
                offline.setText("No Internet Connection!");
            }
    Looper.loop();
  } catch (Throwable t) {
    Log.d(TAG, "halted due to an error", t);
  }
}

そしてisInternetOn()コード:

public final boolean isInternetOn() {
    ConnectivityManager connec =  (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    // ARE WE CONNECTED TO THE NET
    if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
    connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING ||
    connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ||
    connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED ) {
    // MESSAGE TO SCREEN FOR TESTING (IF REQ)
    //Toast.makeText(this, connectionType + ” connected”, Toast.LENGTH_SHORT).show();
    return true;
    } else if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED ||  connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED  ) {
    //System.out.println(“Not Connected”);
    return false;
    }
    return false;
    }
}
4

1 に答える 1

0

こんにちは、次のコードを試して、インターネットを常にチェックし、テキストビューを更新してください

 TextView tvstatus;
 tvstatus=(TextView)findViewById(R.id.txtviewstatus);

   public static boolean hasConnection() {
ConnectivityManager cm = (ConnectivityManager) MbridgeApp.getContext().getSystemService(
    Context.CONNECTIVITY_SERVICE);

NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetwork != null && wifiNetwork.isConnected()) {
     Toast.makeText(this, "Network Available", Toast.LENGTH_LONG).show();
        tvstatus.setText("WifiNetwork kAvailable");

     return true;
}

NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mobileNetwork != null && mobileNetwork.isConnected()) {

  Toast.makeText(this, "Network Available", Toast.LENGTH_LONG).show();
        tvstatus.setText("MobileNetworkAvailable");

  return true;
}

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected()) {

    Toast.makeText(this, "Network Available", Toast.LENGTH_LONG).show();
        tvstatus.setText("Network Available");

  return true;
}

return false;
 }
于 2013-03-02T18:11:32.550 に答える