Android获取本机IP地址(不是localhost)和MAC的方法
来源:互联网 发布:网页版windows系统 编辑:程序博客网 时间:2024/05/18 01:00
Android获取本机IP地址(不是localhost)和MAC的方法
分类: Android2011-04-01 16:44 5822人阅读 评论(7) 收藏 举报
androidstringlayoutnullserviceclass
这个方法在摩托罗拉里程碑上测试通过。功能是获取本机的IP和MAC地址。首先新建一个工程,修改AndroidManifest.xml文件增加用户权限,如下。
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
- <uses-permission android:name="android.permission.INTERNET"></uses-permission>
然后修改/res/layout/main.xml,如下。
- <TextView
- android:id ="@+id/hello"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
主要代码如下(GetIPMAC.java):
- package exp.getipmac;
- import java.net.InetAddress;
- import java.net.NetworkInterface;
- import java.net.SocketException;
- import java.util.Enumeration;
- import android.app.Activity;
- import android.content.Context;
- import android.net.wifi.WifiInfo;
- import android.net.wifi.WifiManager;
- import android.os.Bundle;
- import android.util.Log;
- import android.widget.TextView;
- public class GetIPMAC extends Activity {
- public static String hostip; //本机IP
- public static String hostmac; //本机MAC
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- TextView tv= (TextView)findViewById(R.id.hello);
- hostip = getLocalIpAddress(); //获取本机IP
- hostmac = getLocalMacAddress();//获取本机MAC
- /* 显示本机IP和MAC */
- tv.setText("HostIP:" + hostip + "/nHostMAC:" + hostmac);
- /* 在调试信息中输出本机IP和MAC */
- if (hostip != null) Log.d("GetIPMAC", hostip);
- else Log.d("GetIPMAC", "null");
- Log.d("GetIPMAC", hostmac);
- }
- 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;
- }
- public String getLocalMacAddress() {
- WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
- WifiInfo info = wifi.getConnectionInfo();
- return info.getMacAddress();
- }
- }
运行效果:
- Android获取本机IP地址(不是localhost)和MAC的方法
- Android获取本机IP地址(不是localhost)和MAC的方法
- Android获取本机IP地址(不是localhost)和MAC的方法
- Android获取本机IP地址(不是localhost)和MAC的方法
- Android获取本机IP地址(不是localhost)和MAC的方法
- Android开发中获取本机Mac地址和IP地址的方法
- QT获取本机IP和MAC地址的方法
- android获取本机的IP地址和mac物理地址
- Android获取本机Mac地址及IP地址方法
- android:获取本机Mac地址及IP地址方法
- Android获取本机Mac地址及IP地址方法
- Android 获取本机Mac 地址方法及ip地址
- Android获取本机ip地址和Mac地址
- Android中获取本机ip地址和MAC地址
- Android中获取本机ip地址和MAC地址
- vbscript获取本机的ip地址和mac地址
- java获取本机的IP地址和mac地址
- Qt 获取本机的IP地址和Mac地址
- [2月6日的脚本] 修改Windows 8开始屏幕上的磁贴行数 (PowerShell)
- JeeSite的开发环境部署 -- 异常:java.lang.ClassNotFoundException: javax.servlet.ServletContainerInitializer
- 网络安全热门资料 精品工具——下载目录(转)
- linux 与 windows 双系统之间文件共享
- [Android实例] android定制化开关机动画、铃音
- Android获取本机IP地址(不是localhost)和MAC的方法
- [2月7日的脚本] 在Windows 8开始屏幕上修改背景颜色
- 将16进制文本转换为ascii码的C语言代码
- 笔试题二
- Python 运算符与表达式
- 音视频即时通讯开发中使用P2P技术的好处
- 【J2ME资料汇总】48个推荐资料+40个经典源码(转)
- MySQL 当记录不存在时插入,当记录存在时更新
- 动态规划--矩阵连乘问题