0

当网络不可用或禁用时,我的应用程序没有显示 toast 消息?我在下面插入了我的代码,它似乎没有检查连接是否可用。请帮助我,当网络可用时它工作正常,但是当我禁用我的网络时,它没有显示错误消息,没有其他网络可用。

if (position == 2)

{

    final ConnectivityManager connMgr = (ConnectivityManager)  
            getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connMgr  
            .getActiveNetworkInfo();
    android.net.NetworkInfo mobile1 =  
            connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

    if (activeNetworkInfo == null) {
        Toast.makeText(LoginScreen.this, "No   
                Active Network",Toast.LENGTH_LONG).show();
    } else {

        if (activeNetworkInfo.isConnected()) {

            btnLogin.setOnClickListener(new OnClickListener() {


                public  void onClick(View view) {
                    String pinemptycheck = pin.getText().toString();
                    String mobileemptycheck = mobile.getText().toString();
                    if  (pinemptycheck.trim().equals("")||  
                            (mobileemptycheck.trim().equals("")))
                    {


                        Toast.makeText(getApplicationContext(), "Please Enter Correct Information",  
                                Toast.LENGTH_LONG).show();


                    } 


                    else
                    {

                        showProgress();
                        postLoginData();
                    }

                }
            });
        } else if  
        (activeNetworkInfo.isConnectedOrConnecting()) {

            Toast.makeText(LoginScreen.this,    "network is Connecting", Toast.LENGTH_LONG)  
            .show();
        } else if (mobile1.isAvailable()) {

            btnLogin.setOnClickListener(new  
                    OnClickListener() {

                public  void onClick(View view) {

                    showProgress();

                    postLoginData();                                    

                }
            });
        } else if (!mobile1.isAvailable()) {

            Toast.makeText(LoginScreen.this,"No other Connection Found  
                    ",Toast.LENGTH_LONG).show();
                    btnLogin.setOnClickListener(new OnClickListener() {
                        public void onClick(View v)

                        {

                            Toast.makeText(LoginScreen.this," No other Connection Found", Toast.LENGTH_LONG).show();
                        }

                    });
        }}}
4

1 回答 1

0

问题是您应该在 onClickListener 内部而不是在 onClickListener 上方检查连接可用性。

背后的原因是这个假设在 onCreate 调用时网络存在,所以它一直为真。所以当你点击按钮时检查连接是否可用。

于 2012-10-02T12:02:37.463 回答