現在の Android フォンで IPv6 が利用可能かどうかを確認する最良の方法は何ですか?
私の現在のアイデアは、を使用NetworkInterface
して列挙NetworkInterface.getNetworkInterfaces()
することですが、これは複雑すぎるようです。
もっと簡単な方法はありますか?
現在の Android フォンで IPv6 が利用可能かどうかを確認する最良の方法は何ですか?
私の現在のアイデアは、を使用NetworkInterface
して列挙NetworkInterface.getNetworkInterfaces()
することですが、これは複雑すぎるようです。
もっと簡単な方法はありますか?
NetworkInterface
すべてのインターフェイスをチェックする必要がある場合に使用するよりも簡単な方法はわかりませんが、それほど悪くはありません。
for(NetworkInterface netInt: NetworkInterface.getNetworkInterfaces()){
for(InterfaceAddress address: netInt.getInterfaceAddresses()){
if(address.getAddress() instanceof Inet6Address){
// found IPv6 address
// do any other validation of address you may need here
}
}
}
チェックしたいアドレスがわかっている場合は、使用をスキップして、の静的メソッドの1 つを呼び出しNetworkInterface
て特定のアドレスをチェックし、それが のインスタンスであるかどうかをチェックできます。InetAddress
InetAddress
getBy...()
Inet6Address
boolean isIPV6 = false;
Enumeration<NetworkInterface> networkInterfaces =
NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
NetworkInterface ni = networkInterfaces.nextElement();
for (InterfaceAddress addr : ni.getInterfaceAddresses()) {
if (addr.getAddress() instanceof Inet6Address) {
isIPV6 = true;
}
}
}