よくある質問(FAQ)

  • HOME
  • サポート
  • よくある質問(FAQ)
  • クレードルでネットワーク接続したことをアプリケーションで認識できますか?

クレードルでネットワーク接続したことをアプリケーションで認識できますか?

ネットワーク(Ehternet)の接続状況を監視することで認識できます。
下記に参考のソースコードを記載します。
監視を開始するタイミングで下記メソッドを呼び出してください。

▼例

private void setNetworkCallbackListener() {
    ConnectivityManager connectivityManager = getSystemService(ConnectivityManager.class);

    connectivityManager.registerDefaultNetworkCallback(new ConnectivityManager.NetworkCallback() {
        /* 
         * ネットワークが変更された場合に呼び出されるコールバックメソッド
         * リスナー登録後にネットワークが変更された場合はそのタイミングで、
         * リスナー登録時に既に接続済みのネットワークがある場合はリスナー登録直後のタイミングでメソッドを実行される
         *
         */
        @Override
        public void onLinkPropertiesChanged(Network network, LinkProperties linkProperties) {
            NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(network);

            // ネットワークの接続方式がEthernetか確認する
            if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) {
                // Ethernet接続
                
            } else {
                // Ethernet未接続
                
            }
        }
    });
}



また、AndroidManifest.xmlに下記設定の追加が必要です。
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>