Android手机获取IP地址的两种方法
作者:junjie 时间:2021-05-28 14:18:51
1.使用WIFI
首先设置用户权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
其次,代码如下
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取wifi服务
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
//判断wifi是否开启
if (!wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(true);
}
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
String ip = intToIp(ipAddress);
EditText et = (EditText)findViewById(R.id.EditText01);
et.setText(ip);
}
private String intToIp(int i) {
return (i & 0xFF ) + "." +
((i >> 8 ) & 0xFF) + "." +
((i >> 16 ) & 0xFF) + "." +
( i >> 24 & 0xFF) ;
}
2.使用GPRS
首先,设置用户上网权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
其次,代码如下
public String getLocalIpAddress()
{
try
{
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)
{
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)
{
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress())
{
return inetAddress.getHostAddress().toString();
}
}
}
}
catch (SocketException ex)
{
Log.e("WifiPreference IpAddress", ex.toString());
}
return null;
}
标签:Android,手机,获取,IP地址
0
投稿
猜你喜欢
SpringBoot yaml中的数组类型取值方式
2022-10-14 20:05:36
java写的伪微信红包功能示例代码
2023-07-05 00:24:23
Android使用ViewFlipper和GestrueDetector共同实现滑屏效果实例
2023-11-11 10:49:06
Android 手写热修复dex实例详解
2022-11-06 08:01:40
Flutter混合开发详解
2023-05-15 11:10:54
Android实现动态高斯模糊效果
2021-07-02 16:56:09
java实战之飞机大战小游戏(源码加注释)
2021-08-01 17:46:08
SpringBoot Java后端实现okhttp3超时设置的方法实例
2022-11-06 04:56:03
Java编程实现A*算法完整代码
2022-06-18 12:28:57
spring cloud Ribbon用法及原理解析
2021-11-28 15:27:21
java中Swing会奔跑的线程侠
2021-12-14 23:47:36
springboot + mybatis + druid + 多数据源的问题详解
2023-01-24 15:59:58
基于Spring@Autowired注解与自动装配详谈
2022-01-14 09:38:49
Java基本数据类型族谱与易错点梳理解析
2021-08-18 10:20:27
springboot配置http跳转https的过程
2021-12-25 07:31:11
MyBatis找不到mapper文件的实现
2023-12-15 09:22:11
Android自定义荷载进度的两种方法
2022-08-29 03:21:39
java+opencv实现人脸识别功能
2023-02-20 21:52:58
C#中IEnumerable、ICollection、IList、List之间的区别
2022-07-27 18:15:07
Android开发实现的计时器功能示例
2023-09-04 07:33:33