但是,目前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地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)