在清单文件中加入以下权限AndroidManifest.xml:
引用
<!-- 访问网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 访问Wi-Fi网络 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
获取Android本机IP地址和MAC,Test.java类:
package com.iaiai.test;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.test.AndroidTestCase;
import android.util.Log;
public class Test extends AndroidTestCase {
private final String TAG = "Test";
public void testLocalIpAndMac() {
Log.i(TAG, "IP: " + getLocalIpAddress() + ", MAC: "
+ getLocalMacAddress());
}
/**
* 获取Android本机IP地址
*
* @return
*/
private 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本机MAC
*
* @return
*/
private String getLocalMacAddress() {
WifiManager wifi = (WifiManager) this.getContext().getSystemService(
Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}
}
运行结果:
- 大小: 11.3 KB
分享到:
相关推荐
在Android平台上,开发一...总结来说,在Android中获取手机的IP和MAC地址涉及网络接口的枚举、IP地址的筛选以及可能的权限请求。在实际操作中,开发者应当熟悉这些概念,合理利用系统提供的API,并遵循最新的隐私政策。
在Android开发中,获取设备的IP地址和MAC地址是常见的需求,尤其是在进行网络通信或设备识别时。以下是对如何在Android应用中实现这一功能的详细解析。 ### 一、获取MAC地址 MAC地址(Media Access Control ...
有些软件还要根据Mac地址来判定当前用户以前是否登录过。下面将一一介绍获取这些手机状态信息的方法。 1 通过build获取手机硬件信息 运用反射获取Build信息,然后从build中得到对应字段的值。这种情况适用于获取...
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要...
在Android平台上,获取设备的IP地址和MAC物理地址是开发者常用的功能之一,特别是在网络通信或者设备定位等场景中。本文将详细介绍如何在Android应用中实现这两个功能,并提供相关的示例代码。 首先,让我们来理解...
判断网络是否可用: 注意!是判断网络是否可用,但网络可用不代表一定能上外网的! public static boolean isNetworkAvailable(Context context) { ConnectivityManager manager = (ConnectivityManager) context...
Android 模拟器 IP 设置是 Android 开发中一个非常重要的步骤,因为模拟器的 IP 地址和电脑的 IP 地址不同,会导致模拟器无法连接互联网,或者无法与电脑进行通信。本文将详细介绍 Android 模拟器 IP 设置的完整步骤...
本教程将详细解释如何实现这一功能,主要涉及"IP地址获取"和"手机AP"这两个关键知识点。 首先,让我们了解什么是IP地址。IP地址(Internet Protocol Address)是互联网协议地址的简称,是一种在互联网上唯一标识...
在Android开发中,有时我们需要获取设备的网络状态信息,如IP地址和MAC地址。这些信息在设备连接到网络时尤其重要,例如用于设备间的通信、网络诊断或远程控制。本教程将详细介绍如何在Android应用中获取设备的IP和...
Android获取连接热点的设备信息ip、mac信息
Android DHCP 获取 IP 失败分析和解决 Android 操作系统中,DHCP(Dynamic Host Configuration Protocol)是用于动态分配 IP 地址的协议。然而,在某些情况下,Android 设备可能无法通过 DHCP 获取 IP 地址,导致...
4. **调用服务方法**:一旦连接建立,客户端可以通过`IServiceConnection` 的`onServiceConnected()` 回调获取到`IBinder` 对象的代理,然后就可以通过这个代理调用服务端的方法,比如设置IP和MAC地址。 5. **实现...
这是一个封装好的工具类,可以查看本机的ip地址和物理(mac)地址。没有wifi的情况下,也可以查看物理地址。
这个类提供了方法来获取和设置IP地址,包括主机名到IP地址的转换,以及检查是否为本地地址或回环地址等功能。在获取Android设备的IP地址时,`InetAddress`用于实际存储和返回所找到的IP地址。 ### 知识点三:枚举...
完成上述步骤后,你的Android模拟器的IP地址和DNS设置就成功修改了。现在,模拟器应该能够与同一网络中的其他设备相互通信,并且能够正常访问互联网(如果有开启网络权限的话)。这种配置对于进行本地服务器的测试、...
当`WifiManager`无法提供有效Mac地址时,可以尝试根据设备的本地IP地址获取Mac地址。首先,获取本地IP地址,然后通过`NetworkInterface.getByInetAddress()`找到对应的网络接口,接着获取硬件地址并转换为Mac地址...
- 如果你的应用可以使用C/C++代码,可以通过Android NDK调用Linux系统函数`ifconfig`或`ip link show`来获取Mac地址,但这需要处理更复杂的跨平台问题。 5. **使用SystemProperties获取** - 在系统服务层面,可以...
Android 获取连接热点的 IP 地址的方法主要涉及到 Android 中的 WifiManager 和 WifiInfo 两个类。WifiManager 用于管理 Wi-Fi 连接,包括启用、禁用 Wi-Fi 和获取当前 Wi-Fi 连接的信息。而 WifiInfo 则提供了当前...
apk应用程序,可以读取手机上网的IP地址和MAC地址.
在Android开发中,获取局域网内设备的IP和MAC地址是常见的需求,尤其是在构建网络相关的应用程序时。Eclipse是一款广泛使用的集成开发环境(IDE),适用于Android应用开发,而5+app则可能指的是针对Android 5.0及...