0

ネットワークが利用できない場合、私のコードはトースト メッセージを表示しません。これは以下の私のコードです...ネットワークが利用できない場合、トーストは表示されません。私のコードのエラーは何ですか? お願い助けて。

public class HomeMenu extends Activity {


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homemenu);

        if (!Utils.isNetworkAvailable(HomeMenu.this)) {
            Toast.makeText(HomeMenu.this, getString(R.string.no_internet), Toast.LENGTH_SHORT).show();
        }
    }
}

ユーティリティ クラス:

public static boolean isNetworkAvailable(Activity activity) {
    ConnectivityManager connectivity = (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivity == null) {
        return false;
    } else {
        NetworkInfo[] info = connectivity.getAllNetworkInfo();
        if (info != null) {
            for (int i = 0; i < info.length; i++) {
                if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                    return true;
                }
            }
        }
    }
    return false;
 }
4

2 に答える 2

0

インターネット接続用のコードを変更してみてください:

public static boolean isNetworkAvailable(Activity activity) {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
// if no network is available networkInfo will be null
// otherwise check if we are connected
if (networkInfo != null && networkInfo.isConnected()) {
    return true;
}
return false; }

onCreate() メソッドを確認します。

if (!Utils.isNetworkAvailable(HomeMenu.this)) {
       Showtoast("No Connection Available.");
    }

void Showtoast(String message) {
Toast.makeText(HomeMenu.this, message, Toast.LENGTH_LONG).show();}
于 2013-08-15T06:11:37.980 に答える
0

これを試してみてください...必要な許可でandroid.permission.ACCESS_NETWORK_STATE

public class HomeMenu extends Activity {

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.homemenu);
    if (!isUserOnline(this)) {
        toast("No Network");
    }

}

public static boolean isUserOnline(Context context) {
    try {
        ConnectivityManager nConManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        if (nConManager != null) {
            NetworkInfo nNetworkinfo = nConManager.getActiveNetworkInfo();

            if (nNetworkinfo != null) {
                return nNetworkinfo.isConnected();
            }
        }
    } catch (Exception e) {
    }
    return false;
}

void toast(String message) {
    Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}

}

于 2013-08-15T06:11:51.183 に答える