Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果没有可用的网络连接,则不显示Toast_Android - Fatal编程技术网

Android 如果没有可用的网络连接,则不显示Toast

Android 如果没有可用的网络连接,则不显示Toast,android,Android,如果网络不可用,“我的代码”不会显示toast消息。这是我下面的代码。。。如果没有可用的网络,则不会显示toast。我的代码中有什么错误?请帮帮我 public class HomeMenu extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.

如果网络不可用,“我的代码”不会显示toast消息。这是我下面的代码。。。如果没有可用的网络,则不会显示toast。我的代码中有什么错误?请帮帮我

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();
        }
    }
}
Util类:

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;
 }
公共静态布尔值isNetworkAvailable(活动){
ConnectivityManager connectivity=(ConnectivityManager)activity.getSystemService(Context.connectivity_服务);
if(连接性==null){
返回false;
}否则{
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null){
对于(int i=0;i
尝试更改internet连接的代码:

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()方法:


试试这个对我有用。。。具有请求权限android.permission.ACCESS\u网络\u状态

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();
}

}

您是否记得添加android.permission.ACCESS\u NETWORK\u STATE权限?您的吐司上下文看起来有点奇怪。您尝试过改用getApplicationContext()吗?为了进行测试,请添加一个固定字符串,可能您是预定义的no_internet字符串格式不正确。我授予它权限您是否为internet添加权限?是的,当然,我授予它显示错误的方法getSystemService(string)未定义类型UtilsNow的。请检查它并将其签入设备。因为在emulator中没有检查internet。您可以通过启用或禁用网络“F8”在emulator中检查它3g网络始终可用,当按下f8键时现在解除锁定toast将显示我的网络代码在另一个类中utils不在同一个类home上,因此我将如何将toast从util类传递到home类??将isUserOnline方法保留在util类中,访问权在您的活动中,如。。。如果(!Utils.isUserOnline(this)){toast(“无网络”);}
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();
}