Android获取本机IP地址(不是localhost)和MAC的方法
来源:互联网 发布:苹果6为什么打不开淘宝 编辑:程序博客网 时间:2024/06/07 05:25
这个方法在摩托罗拉里程碑上测试通过。功能是获取本机的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代码
- view plaincopy to clipboardprint?
- <TextView
- android:id ="@+id/hello"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
主要代码如下(GetIPMAC.Java):
Java代码
- view plaincopy to clipboardprint?
- 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地址
- 开源免费跨平台的视频和音频流方案FFmpeg
- Linux下SVN服务器搭建(CentOS+Subversion)
- 四极管:U-boot1.1.6之Makefile和mkconfig分析
- 面试题 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数, 报数到第m个人, 此人出圈, 再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现
- 数据库设计的14个技巧
- Android获取本机IP地址(不是localhost)和MAC的方法
- c/c++面试题
- 写了一个10进制转换程序,无意发现JAVA int 类型的范围原来是这个!
- java 类转换成xml
- object-c学习笔记:new vs alloc init
- 转载——Android Activity和Intent机制学习笔记
- android 绘制流程
- request.getRealPath("/");替换为request.getSession().getServletContext().getRealPath("/");
- 【Android(三)】采用Repo 和 Git 进行Android的版本控制