0

私は最後のコードを変更しましたが、このコードはまだネットワークが見つかったことを示していますネットワークを無効にしましたが、再びネットワークを表示しますネットワーク接続を無効にした場合はまだ表示されますトーストを表示する他の接続が見つかりました

final ConnectivityManager connMgr = (ConnectivityManager)       
  getSystemService(Context.CONNECTIVITY_SERVICE);

 final android.net.NetworkInfo mobile1 = 
                            connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);


    if (mobile1.isAvailable()) {
    Toast.makeText(LoginScreen.this," other Connection Found  
",Toast.LENGTH_LONG).show();
                   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 (!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

2 に答える 2

1

これを試して:

final ConnectivityManager connMgr = (ConnectivityManager)       
                  getSystemService(Context.CONNECTIVITY_SERVICE);

                 final android.net.NetworkInfo mobile1 = 
                                            connMgr.getActiveNetworkInfo();


                   if (mobile1 != null  && mobile1.isConnected() && mobile1.isAvailable() && (mobile1.getType() == ConnectivityManager.TYPE_MOBILE)) {
                Toast.makeText(CheckBoxTest.this," other Connection Found ",Toast.LENGTH_LONG).show();

                }
于 2012-10-02T13:15:46.550 に答える
0

このようなことを試すことができます:-

あなたのAndroidマニフェストで以下の権限を取得してください-

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

インテント フィルターで以下のアクションを持つブロードキャスト レシーバーを用意します。

            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />

レシーバーの onReceive メソッドでは、以下のコードを使用します:-

@Override
public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
            final ConnectivityManager connMgr = (ConnectivityManager) context
                    .getSystemService(Context.CONNECTIVITY_SERVICE);

            final android.net.NetworkInfo wifi = connMgr
                    .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            final android.net.NetworkInfo mobile = connMgr
                    .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            if (wifi.isConnected() || mobile.isConnected()) {
                      Toast.makeText(LoginScreen.this," other Connection Found  
",Toast.LENGTH_LONG).show();

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

}
        }

}

于 2012-10-02T13:25:10.160 に答える