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 のみを返しています。誰でもこの問題を解決する方法を知っていますか? 前もって感謝します。