1

次のコードを使用して、電話にインターネット接続があるかどうかを確認します。

online = SystemCheckInternetConn.getInstance(this).isOnline(this);

電話が接続されているかどうかを継続的に確認するにはどうすればよいですか?

4

1 に答える 1

1

接続の変更をリッスンするには、ブロードキャストレシーバーを登録する必要があります。次のようなことを試してください:

registerReceiver(MyNetworkStateReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));

private BroadcastReceiver NetworkStateReceiver = new BroadcastReceiver(){

        @Override
        public void onReceive(Context context, Intent intent) {
            boolean haveConnection = haveNetworkConnection(context);
        }

        private boolean haveNetworkConnection(Context context) {
            boolean haveConnectedWifi = false;
            boolean haveConnectedMobile = false;

            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo[] netInfo = cm.getAllNetworkInfo();
            for (NetworkInfo ni : netInfo) {
                if (ni.getTypeName().equalsIgnoreCase("WIFI"))
                    if (ni.isConnected())
                        haveConnectedWifi = true;
                if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
                    if (ni.isConnected())
                        haveConnectedMobile = true;
            }
            return haveConnectedWifi || haveConnectedMobile;
        }
    };

次に、この新たに発見された知識で何かをしてください:)

于 2012-07-11T02:13:56.257 に答える