2017-12-21 34 views
1
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 

結果ログ内デバイスイーサネット接続状態

android.net.conn.CONNECTIVITY_CHANGE

getConnectivityStatusString = TYPE_ETHERNET

activeNetwork.getTypeName()= ETHERNET

activeNetwork。 isConnected()= true

activeNetwork.isConnectedOrConnecting()真

activeNetwork.isAvailableを(=)は、真

activeNetwork.getStateを(=)

を接続されたIは、アンドロイドプリンタで働いていると私はイーサネット接続を確認しています=状態。 私はいつも同じ結果を得る。ケーブルプラグインを抜いたとき。 それは

答えて

1

チェックイーサネット接続がこれを使用するために追跡する方法上の任意のアイデアは:

public Boolean isEthernetConnected(){ 
    if(isNetworkAvailable()){ 
     ConnectivityManager cm 
     = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     return (cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_ETHERNET); 
    } 
    return false; 
} 

はここisNetworkAvailable()

private Boolean isNetworkAvailable() { 
    ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
    return activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting(); 
} 
1

は、あなたがこの方法を使用して状態を確認することができます。

public Boolean isEthernetConnected(){ 
    if(isNetworkAvailable()){ 
     ConnectivityManager cm 
     = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     return (cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_ETHERNET); 
    } 
    return false; 
} 
関連する問題