Android获取本机IP地址(不是localhost)和MAC的方法

别再死磕RD算法了!用MATLAB手把手复现SAR后向投影(BP)成像(附完整代码与避坑点) 本文详细介绍了如何使用MATLAB实现合成孔径雷达(SAR)后向投影(BP)成像算法,突破传统RD算法在大斜视复杂轨迹场景中的局限。通过完整的代码示例避坑指南,帮助读者掌握BP算法的核心原理、内存优化策略并行计算技巧,提升SAR成像精度与效率。 阅读详情

这个方法在摩托罗拉里程碑上测试通过。功能是获取本机的IP和MAC地址。首先新建一个工程,修改AndroidManifest.xml文件增加用户权限,如下。

      
view plaincopy to clipboardprint?
<uses-permission Android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>  
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

      然后修改/res/layout/main.xml,如下。

      

XML/HTML代码
  1. view plaincopy to clipboardprint?   
  2. <TextView       
  3.     android:id ="@+id/hello"     
  4.     android:layout_width="fill_parent"      
  5.     android:layout_height="wrap_content"     
  6.     />    

      主要代码如下(GetIPMAC.Java):

      

Java代码
  1. view plaincopy to clipboardprint?   
  2. package exp.getipmac;     
  3. import java.net.InetAddress;     
  4. import java.net.NetworkInterface;     
  5. import java.net.SocketException;     
  6. import java.util.Enumeration;     
  7. import android.app.Activity;     
  8. import android.content.Context;     
  9. import android.net.wifi.WifiInfo;     
  10. import android.net.wifi.WifiManager;     
  11. import android.os.Bundle;     
  12. import android.util.Log;     
  13. import android.widget.TextView;     
  14. public class GetIPMAC extends Activity {     
  15.     public static String hostip;             //本机IP     
  16.     public static String hostmac;            //本机MAC     
  17.          
  18.     /** Called when the activity is first created. */     
  19.     @Override     
  20.     public void onCreate(Bundle savedInstanceState) {     
  21.         super.onCreate(savedInstanceState);     
  22.         setContentView(R.layout.main);     
  23.         TextView tv= (TextView)findViewById(R.id.hello);     
  24.              
  25.         hostip = getLocalIpAddress();  //获取本机IP     
  26.         hostmac = getLocalMacAddress();//获取本机MAC     
  27.         /* 显示本机IP和MAC */     
  28.         tv.setText("HostIP:" + hostip + "\nHostMAC:" + hostmac);     
  29.         /* 在调试信息中输出本机IP和MAC */     
  30.         if (hostip != null) Log.d("GetIPMAC", hostip);     
  31.         else Log.d("GetIPMAC""null");     
  32.         Log.d("GetIPMAC", hostmac);     
  33.     }     
  34.          
  35.     public String getLocalIpAddress() {     
  36.         try {     
  37.             for (Enumeration<NetworkInterface> en = NetworkInterface     
  38.                     .getNetworkInterfaces(); en.hasMoreElements();) {     
  39.                 NetworkInterface intf = en.nextElement();     
  40.                 for (Enumeration<InetAddress> enumIpAddr = intf     
  41.                         .getInetAddresses(); enumIpAddr.hasMoreElements();) {     
  42.                     InetAddress inetAddress = enumIpAddr.nextElement();     
  43.                     if (!inetAddress.isLoopbackAddress()) {     
  44.                         return inetAddress.getHostAddress().toString();     
  45.                     }     
  46.                 }     
  47.             }     
  48.         } catch (SocketException ex) {     
  49.             Log.e("WifiPreference IpAddress", ex.toString());     
  50.         }     
  51.         return null;     
  52.     }     
  53.          
  54.     public String getLocalMacAddress() {     
  55.         WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);     
  56.         WifiInfo info = wifi.getConnectionInfo();     
  57.         return info.getMacAddress();     
  58.     }     
  59. }    


      运行效果:


android 获取IP地址 Android 获取ip地址 阅读详情

相关推荐

华为OD机试真题:明日之星选举 (Java/Py/C/ C++/JS/GO)

华为OD机试(机考)双机位C卷 【明日之星选举】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 明日之星选举。

qq_45776114的博客 888

android 获取本机IP地址mac物理地址的实现方法

本文主要介绍android 获取本机IP地址mac物理地址的实现方法,这里提供示例代码,实现功能,有需要的小伙伴可以参考下

da_Vinci_Xi_System_User_Manual.pdf

da_Vinci_Xi_System_User_Manual.pdf

Android获取设备IP方法

获取Ip地址

每天不是在写bug就是在写bug的路上 4591

Android 获取ip地址多种方式介绍

adb shell 的 ifconfig可以获取当前设备网络节点信息;这些信息使用Android代码也是可以获取的;Android 获取网络ip有多种方式,有时候某种方式获取失败的情况下;那么就可以换一种获取方式,所有多学习一下获取网络ip相关信息是有用的。本文介绍三种获取网络ip信息的方式,并且最后一种的代码不用任何权限就能获取到相关节点的ipMAC地址,有兴趣的可以看看。

wenzhi的博客 9523

android 获取当前的ip地址

如果你的应用目标API级别是23(Android 6.0)或更高,并且你正在请求敏感权限(如网络访问),则你需要在运行时请求这些权限。在Android中,获取当前设备IP地址通常涉及几个步骤。虽然这不一定直接用于获取IP地址,但确保你的应用可以访问网络是很重要的。在不同的网络环境设备测试你的应用,以确保它可以正确地获取IP地址方法返回的是一个整数,你需要将其转换为点分十进制的IP地址格式。权限,这通常不是必需的,因为它被认为是正常权限。在你的Activity或其他组件中,调用。

xie__jin__cheng的博客 2678

Android获取本机IP地址

文章摘要:探讨了两种获取设备IP地址方法。第一种通过Socket连接获取,优点是直接但存在网络异常时响应慢的问题,可通过设置超时或使用固定IP优化。第二种通过遍历网络接口,快速获取所有可用IP地址,但需进一步过滤有效IP(如eth0接口)。测试显示第二种方法仅需37ms,效率更高,但需注意线程安全。建议根据实际场景选择合适方法,关注网络状态接口过滤逻辑。

Android菜鸟的专栏 2019

关于获取本机IP

都是网上搜集的,具体出处不详 获取所有IP      在WIN下可行   Enumeration netInterfaces = null;     try {         netInterfaces = NetworkInterface.getNetworkIn

晨曦天下 598

Android无法访问本地服务器(localhost)的解决方案

Android开发中通过localhost或127.0.0.1访问本地服务器时,会报java.net.ConnectException: localhost/127.0.0.1:8083 -Connection refused异常。 为什么会报这个异常呢?因为Android模拟器本身把自己当做了localhost或127.0.0.1,而此时我们又通过localhost或127.0.0.1访问本

Mexican的博客 1419

android无法访问本机服务器地址,Android无法访问本地服务器(localhost)的解决方案...

package cn.itcast.test;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;import java.util.List;import android.content.Context;im...

weixin_29419979的博客 595

十七、Android无法访问本地服务器(localhost)的解决方案

Android开发中通过localhost或127.0.0.1访问本地服务器时,会报java.net.ConnectException: localhost/127.0.0.1:8083 -Connection refused异常。 为什么会报这个异常呢?因为Android模拟器本身把自己当做了localhost或127.0.0.1,而此时我们又通过localhost或127.0.0.1访

一念永恒 1559
上一篇: Android UI 之TextView控件中可选择的属性列表,开发中经常用到的
下一篇: android Toast大全(五种情形)建立属于你自己的Toast
idulx
博客等级 码龄15年 6粉丝 63原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值