Android:如何在网络不可用时显示Toast消息

时间:2014-03-16 10:03:06

标签: android networking toast

我的活动中有一个数据提交表单,一切都完成了。单击提交按钮时,我需要的是一个Toast消息。对于没有网络,应该出现一个toast&对于网络可用,我的活动继续这项工作。

2 个答案:

答案 0 :(得分:0)

如何检查点击事件监听器中的网络可用性。

How to check the network availability?

答案 1 :(得分:0)

我使用自定义类来解决这个问题:

public class ConnectionDetector {

private Context _context;

    public ConnectionDetector(Context context){
        this._context = context;
    }

    /**
     * Checking for all possible Internet providers
     * **/
    public boolean isConnectingToInternet(){
        ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity != null)
        {
            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;
    }
}

您可以在点击监听器上的按钮中实现此功能:

b1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                            ConnectionDetector cd=new ConnectionDetector(getApplicationContext());
                            if (!cd.isConnectingToInternet()){
                            Toast.makeText(getBaseContext(),"Not connected",Toast.LENGTH_SHORT).show();
                            }
                            else{
                                //your submit code
                            }

        }
    });

还将此权限添加到您的清单文件中:

android.permission.ACCESS_NETWORK_STATE

感谢提示@Warlock