热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android手机获取IP地址的两种方法

这篇文章主要介绍了Android手机获取IP地址的两种方法,本文分别讲解了WIFI和GPRS两种情况下各自获取手机IP地址的方法,需要的朋友可以参考下

1.使用WIFI

首先设置用户权限

代码如下:

 
 
 

其次,代码如下

代码如下:

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

首先,设置用户上网权限

代码如下:

 

其次,代码如下

代码如下:

public String getLocalIpAddress() 
    { 
        try 
        { 
            for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) 
            { 
               NetworkInterface intf = en.nextElement(); 
               for (Enumeration 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; 
    }
 


推荐阅读
  • Delphi 10.4.2 版本现已进入内测阶段,此次更新不仅增强了现有功能,还引入了多项新技术以提升用户体验。新版本将支持最新的MSIX应用打包格式,改善Windows 10应用商店的部署体验;同时,新增的VCL控件将带来更加现代的用户界面设计。 ... [详细]
  • 本文介绍了两种在Android设备上获取MAC地址的有效方法,包括通过Wi-Fi连接和使用移动数据流量的情况。第一种方法依赖于Wi-Fi连接来获取MAC地址,而第二种方法则无需Wi-Fi,直接通过网络接口获取。 ... [详细]
  • 本文探讨了在构建应用程序时,如何对不同类型的数据进行结构化设计。主要分为三类:全局配置、用户个人设置和用户关系链。每种类型的数据都有其独特的用途和应用场景,合理规划这些数据结构有助于提升用户体验和系统的可维护性。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 使用C# .NET构建UDP点对点聊天应用
    本文详细介绍如何利用C# .NET框架开发一个基于UDP协议的点对点聊天程序,包括客户端与服务器之间的连接建立、数据传输等核心功能。 ... [详细]
  • MLB正式开放可穿戴技术的应用
    据知情人士透露,美国职业棒球大联盟(MLB)计划在当前赛季内引入两款先进的可穿戴设备,旨在提升球员健康管理和性能分析能力。这两款设备分别是能够测量肘关节压力的Motus袖套和能监控心跳与呼吸速率的Zephyr Bioharness。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 力扣93:复原IP地址问题解析(Golang实现)
    本文探讨了力扣平台上的第93号问题——复原IP地址。该问题要求从给定的纯数字字符串中,通过添加分隔符‘.’来构建所有可能的有效IP地址。有效IP地址由四个介于0至255之间的整数组成,不允许出现前导零。 ... [详细]
  • C语言入门精选教程与书籍推荐
    本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ... [详细]
  • 近期遇到 M1 Mac Mini 在休眠状态下频繁自动重启的问题,通过日志分析尝试找出可能的原因。 ... [详细]
  • 如何在Linux环境下通过Java代码获取主机IP地址
    本文详细介绍了在Linux系统中利用Java编程语言来获取当前主机的IP地址的方法。包括了如何处理网络接口以及选择合适的IP地址等关键步骤。 ... [详细]
  • 全新推出的第二代旅游网站管理系统(简称二代CMS),在现有旅游网站管理系统的基础上进行了全面的技术升级和功能优化,旨在提供更加高效、便捷的旅游管理服务。 ... [详细]
  • 文章目录17、less17-UpdateQuery-Errorbased-String18、less18-HeaderInjection-ErrorBased-string19、l ... [详细]
  • 本文详细介绍了Java库com.linecorp.armeria.client.Endpoint中的withIpAddr()方法的使用方式,并提供了多个实际代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • Linux双网卡绑定技术详解与实践
    本文详细介绍了如何在Linux系统中实现双网卡绑定,即将两块物理网卡合并为一个逻辑网卡,以提高网络性能和可靠性。文中不仅涵盖了基本的概念,还提供了具体的配置步骤和测试方法。 ... [详细]
author-avatar
牛妈是007
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有