我已经开发了一个应用程序,因为我必须检查网络是否已连接,我使用以下代码但无法正常工作。谁能解决我的问题。我的代码是

public class AbcActivity extends Activity {
    Button b;
    private static final String tag = null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        b=(Button)findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                netCheckin();
            }
        });
    }
        private void netCheckin() {

            try {

                ConnectivityManager nInfo = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
                nInfo.getActiveNetworkInfo().isConnectedOrConnecting();

                Log.d(tag, "Net avail:"
                        + nInfo.getActiveNetworkInfo().isConnectedOrConnecting());

                ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
                NetworkInfo netInfo = cm.getActiveNetworkInfo();
                if (netInfo != null && netInfo.isConnectedOrConnecting()) {
                   Toast.makeText(getApplicationContext(), "net on", Toast.LENGTH_LONG).show();
                    Log.d(tag, "Network available:true");

                } else {
                     Toast.makeText(getApplicationContext(), "net OFF", Toast.LENGTH_LONG).show();
                    Log.d(tag, "Network available:false");

                }

            } catch (Exception e) {
               Log.e("error",""+e);
            }
        }

    }


我给了android:name =“ android.permission.ACCESS_NETWORK_STATE” />
在我的清单文件中
在上面的代码中,我的问题是启用或禁用net时,其输出与“ net on”相同(吐司消息)。

最佳答案

在onCreate方法的顶部,使用

if(!checkInternetConnection()){
            // network connnectivity error , show some dialog here and exit from the app

        }


private boolean checkInternetConnection() {

            ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            // ARE WE CONNECTED TO THE NET
            if (conMgr.getActiveNetworkInfo() != null
                    && conMgr.getActiveNetworkInfo().isAvailable()
                    && conMgr.getActiveNetworkInfo().isConnected()) {

                return true;

            } else {
                Log.v("", "Internet Connection Not Present");
                return false;
            }
        }

希望这会帮助你。

关于android - 如何检查android中的网络连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9000269/

10-12 00:39
查看更多