java 获取ip地址
2024-08-28 15:15:54
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;
- }
最新文章
- eclipse配置maven
- Spring Data JPA 的配置文件 已经数据库的状态
- 关于OpenGL的性能方面的技巧(不时更新)
- 登录锁定状态下Win7关机技巧总结
- 浅谈 Android 自定义锁屏页的发车姿势
- android的adb详解(多设备时adb调用)
- 浏览器 user-agent 字符串的故事
- Linux 命令、Shell 杂货铺
- C# Wpf集合双向绑定
- windows下eclipse跑junit报错:CreateProcess error=206
- Windows Server 2012 在个人终端上使用的推荐设置
- fiddler基本介绍
- Python_marshal模块操作二进制文件
- 为什么不使用github的wiki而是使用mkdocs做文档管理?
- grub.conf解析
- hinton教授的本科生课程CSC321-机器学习中的神经网的笔记
- Spark Gradient-boosted trees (GBTs)梯度提升树
- 源码解读 Laravel PHP artisan config:cache
- 你可能不知道UED和UCD
- 自动化测试框架Cucumber和RobotFramework的实战对比