3

RJ45ケーブルが接続されているかどうかを検出するためのサンプルコードを作成しています。検出用のブロードキャストレシーバーを作成しました。

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

    String action = intent.getAction();

    if(action.equals(ConnectivityManager.CONNECTIVITY_ACTION)){
        Log.i("Calling Connectivity action in broadcast receiver ", "");
        updateConnectivity(intent);
    }
}

private void updateConnectivity(Intent intent) {

    NetworkInfo info = (NetworkInfo)(intent.getParcelableExtra(
            ConnectivityManager.EXTRA_NETWORK_INFO));

    if (info != null && info.getType() == ConnectivityManager.TYPE_ETHERNET) {
        mEthernetConnected = info.isConnected();
    }

    if(mEthernetConnected)
        Log.i("Ethernet connected status is  ", "" +mEthernetConnected);
    else
        Log.i("Ethernet connected status is  ", "" +mEthernetConnected);}

これをアクティビティクラスに登録しています

intentFilter = new IntentFilter();
    intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);

    mBroadcastReceiver = new EthernetReceiver(this);
    this.registerReceiver(mBroadcastReceiver, intentFilter);

ここでは、ログに false のみを返しています。誰でもこの問題を解決する方法を知っていますか? 前もって感謝します。

4

0 に答える 0