0

WiFi状態の変化をリッスンするために、この BroadCastReceiver があります。

private BroadcastReceiver mWifiStateChangedReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {

        int extraWifiState = intent.getIntExtra(
                WifiManager.EXTRA_WIFI_STATE,
                WifiManager.WIFI_STATE_UNKNOWN
                );

        wifiState = new WifiState(Main.this);

        switch (extraWifiState) {

        case WifiManager.WIFI_STATE_DISABLED:
            wifiState.haveNetworkConnection();
            break;

        case WifiManager.WIFI_STATE_ENABLED:

            ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            while (conMan.getActiveNetworkInfo() == null
                    || conMan.getActiveNetworkInfo().getState() != NetworkInfo.State.CONNECTED) {

                wifiState.cancelDialog();

            }
            break;
        case WifiManager.WIFI_STATE_ENABLING:
            break;
        case WifiManager.WIFI_STATE_UNKNOWN:
            break;
        }
    }
};

このブロードキャストレシーバーでモバイルデータをリッスンするためのサポートを追加するにはどうすればよいですか?

よろしくお願いします!

4

1 に答える 1

2

あなたはリッスンすることができ"android.intent.action.ANY_DATA_STATE"、データ接続状態が変化したときに通知を受け取ります(モバイルデータおよび/またはwifi)。

于 2012-08-28T16:00:29.697 に答える