1.使用WIFI

首先设置用户权限

  1. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
  2. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
  3. <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>

其次,代码如下

  1. public void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.main);
  4. //获取wifi服务
  5. WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  6. //判断wifi是否开启
  7. if (!wifiManager.isWifiEnabled()) {
  8. wifiManager.setWifiEnabled(true);
  9. }
  10. WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  11. int ipAddress = wifiInfo.getIpAddress();
  12. String ip = intToIp(ipAddress);
  13. EditText et = (EditText)findViewById(R.id.EditText01);
  14. et.setText(ip);
  15. }
  16. private String intToIp(int i) {
  17. return (i & 0xFF ) + "." +
  18. ((i >> 8 ) & 0xFF) + "." +
  19. ((i >> 16 ) & 0xFF) + "." +
  20. ( i >> 24 & 0xFF) ;
  21. }

2.使用GPRS

首先,设置用户上网权限

  1. <uses-permission android:name="android.permission.INTERNET"></uses-permission>

其次,代码如下

  1. public String getLocalIpAddress()
  2. {
  3. try
  4. {
  5. for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)
  6. {
  7. NetworkInterface intf = en.nextElement();
  8. for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)
  9. {
  10. InetAddress inetAddress = enumIpAddr.nextElement();
  11. if (!inetAddress.isLoopbackAddress())
  12. {
  13. return inetAddress.getHostAddress().toString();
  14. }
  15. }
  16. }
  17. }
  18. catch (SocketException ex)
  19. {
  20. Log.e("WifiPreference IpAddress", ex.toString());
  21. }
  22. return null;
  23. }

最新文章

  1. eclipse配置maven
  2. Spring Data JPA 的配置文件 已经数据库的状态
  3. 关于OpenGL的性能方面的技巧(不时更新)
  4. 登录锁定状态下Win7关机技巧总结
  5. 浅谈 Android 自定义锁屏页的发车姿势
  6. android的adb详解(多设备时adb调用)
  7. 浏览器 user-agent 字符串的故事
  8. Linux 命令、Shell 杂货铺
  9. C# Wpf集合双向绑定
  10. windows下eclipse跑junit报错:CreateProcess error=206
  11. Windows Server 2012 在个人终端上使用的推荐设置
  12. fiddler基本介绍
  13. Python_marshal模块操作二进制文件
  14. 为什么不使用github的wiki而是使用mkdocs做文档管理?
  15. grub.conf解析
  16. hinton教授的本科生课程CSC321-机器学习中的神经网的笔记
  17. Spark Gradient-boosted trees (GBTs)梯度提升树
  18. 源码解读 Laravel PHP artisan config:cache
  19. 你可能不知道UED和UCD
  20. 自动化测试框架Cucumber和RobotFramework的实战对比

热门文章

  1. CodeChef:Little Elephant and Colored Coins
  2. HDU2732 Leapin&#39; Lizards —— 最大流、拆点
  3. dict built-in function
  4. oracle 删除用户命令和部分表空间操作
  5. 识别String类型变量的问题
  6. Dijkstra堆优化
  7. 相对定位relative与绝对定位absolute
  8. 博客使用的CSS代码备份
  9. 51nod1432【贪心】
  10. CF788B Weird journey