android 如何获取IPV6的地址

android 如何获取IPV6的地址,第1张

但是,目前android不支持IPV6的协议,不过据说内核C库上是支持。。网络是推荐使用GogoDroid客户端来获取IPV6地址

经尝试,是可以获取地址,但是总不能要求需要使用的客户端都安装这个软件吧。不太现实。现状:

现在,服务器部署在IPV6网络环境,提供支持IPV6的路由器;问题,开发的客户端(不包括GogoDroid)需要用IPV6协议的网络访问服务器接口,但是手机并不能获取到IPV6地址。思路:

1、客户端自行, 模拟GogoDroid的方式,来获取一个网络地址。比较可行,毕竟是开源的项目。。

2、通过NDK来调用C库,完成获取IPV6地址的 *** 作。。第一种方式的可行性比较高。。大家有更好的方式或者是已经现成的解决方案,希望能帮忙提供信息资料,不胜感激。!

1)第一步获取WifiManager

Get an instance of this class by calling ContextgetSystemService(ContextWIFI_SERVICE)

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

通过wifiManager实例可以获取:

getConfigureNetwork(): wifi的配置网络接口的属性

getConnectionInfo(): 当前wifi 连接的信息

getDhcpInfo(): 返回DHCP信息

getScanResults():返回可接入点的列表

getWifiState():返回wifi的连接状态

安卓(Android)平板电脑,在接入无线 Wi-Fi 网络后,就会自动获取到一个独一无二的 IP 地址,如果你要查看这个 IP 地址的话,就要进入 Wi-Fi 网络列表来查看它。现在就来查看一下 IP 地址吧!以原道 N10 辑写攻略。步骤如下:

(1)在主屏幕上按下“设置(Menu)”键。

(2)轻按选择“无线和网络”按钮。进入可以设置或者查看网络。

(3)然后,轻按选择“Wi-Fi 设置”按钮。

(4)进入Wi-Fi 网络列表后,轻按已连接的无线网络信号。

(5)然后,就会出现一个窗口,里面是关于已连接网络的信息。包含“状态消息”、“安全性”、“信号强弱”、“连接速度”、“IP 地址”等。编者按:

如果需要进行 IP 地址的管理,除了在计算机上的 IP 地址外,还有移动设备进行 Wi-Fi 连接时,所获得的动态 IP 地址。

1、点击手机下面的系统工具按钮;

2、在d出的菜单中选择设置;

3、在d出的菜单项中选择无线和网络;

4、在无线网络设置中选择wi_fi设置;

5、在wi_fi设置下点击手机下面的系统工具按钮 ,在d出的菜单中选择高级;

6、勾选使用静态IP复选框

7、点击IP地址,设置IP,可根据wifi网所在网段来设置,这里设置为19216802 ,这里经需要说明的是IP地址设置范围是19216802-1921680254,在这个范围内可以任意设置,不要使用19216801因为这个会分配给路由

1使用WIFI

首先设置用户权限

Xml代码

<uses-permission android:name="androidpermissionACCESS_WIFI_STATE"></uses-permission>

<uses-permission android:name="androidpermissionCHANGE_WIFI_STATE"></uses-permission>

<uses-permission android:name="androidpermissionWAKE_LOCK"></uses-permission>

其次,代码如下

Java代码

public void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutmain);

//获取wifi服务

WifiManager wifiManager = (WifiManager) getSystemService(ContextWIFI_SERVICE);

//判断wifi是否开启

if (!wifiManagerisWifiEnabled()) {

wifiManagersetWifiEnabled(true);

}

WifiInfo wifiInfo = wifiManagergetConnectionInfo();

int ipAddress = wifiInfogetIpAddress();

String ip = intToIp(ipAddress);

EditText et = (EditText)findViewById(RidEditText01);

etsetText(ip);

}

private String intToIp(int i) {

return (i & 0xFF ) + "" +

((i >> 8 ) & 0xFF) + "" +

((i >> 16 ) & 0xFF) + "" +

( i >> 24 & 0xFF) ;

}

2使用GPRS

首先,设置用户上网权限

Xml代码

<uses-permission android:name="androidpermissionINTERNET"></uses-permission>

其次,代码如下

Java代码

public String getLocalIpAddress()

{

try

{

for (Enumeration<NetworkInterface> en = NetworkInterfacegetNetworkInterfaces(); enhasMoreElements();)

{

NetworkInterface intf = ennextElement();

for (Enumeration<InetAddress> enumIpAddr = intfgetInetAddresses(); enumIpAddrhasMoreElements();)

{

InetAddress inetAddress = enumIpAddrnextElement();

if (!inetAddressisLoopbackAddress())

{

return inetAddressgetHostAddress()toString();

}

}

}

}

catch (SocketException ex)

{

Loge("WifiPreference IpAddress", extoString());

}

return null;

}

以上就是关于android 如何获取IPV6的地址全部的内容,包括:android 如何获取IPV6的地址、如何在android 中获取Wifi设备的IP地址、安卓系统如何查看IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9723882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存