结果:

1.必须打开Access wifi state权限,不打开权限会出图二的错误。

相关资料:

http://blog.csdn.net/lyf_lyf/article/category/173576

实例代码:

  1 unit Unit1;
  2
  3 interface
  4
  5 uses
  6   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  7   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.ScrollBox,
  8   FMX.Memo, FMX.StdCtrls, FMX.Controls.Presentation,
  9   Androidapi.JNI.GraphicsContentViewText,//需要引入
 10   Androidapi.JNIBridge,//需要引入
 11   Androidapi.JNI.Telephony,//需要引入
 12   Androidapi.JNI.JavaTypes,//需要引入
 13   FMX.Helpers.Android,//需要引入
 14   Androidapi.JNI.Net,//需要引入
 15   Androidapi.Helpers;//需要引入
 16
 17 type
 18   TForm1 = class(TForm)
 19     Label1: TLabel;
 20     Button1: TButton;
 21     Memo1: TMemo;
 22     procedure Button1Click(Sender: TObject);
 23   private
 24     { Private declarations }
 25   public
 26     { Public declarations }
 27   end;
 28
 29 var
 30   Form1: TForm1;
 31
 32 implementation
 33
 34 {$R *.fmx}
 35 {$R *.NmXhdpiPh.fmx ANDROID}
 36
 37 //ip地址整数转字符串
 38 function int2Ip(intIP : Int64) : string;
 39 var
 40   n : int64;
 41   ip4, ip3, ip2, ip1: string;
 42 begin
 43   Result := '';
 44   n := intIP shr 24;
 45   intIP := intIP xor (n shl 24);
 46   ip4 := IntToStr(n);
 47
 48   n := intIP shr 16;
 49   intIP := intIP xor (n shl 16);
 50   ip3 := IntToStr(n);
 51
 52   n := intIP shr 8;
 53   intIP := intIP xor (n shl 8);
 54   ip2 := IntToStr(n);
 55
 56   n := intIP;
 57   ip1 := IntToStr(n);
 58
 59   Result := ip1 + '.' + ip2  + '.' + ip3  + '.' + ip4;
 60 end;
 61
 62 //ip地址字符串转整数(没测过)
 63 function ip2Int(const strIP : string): Int64;
 64 var
 65   lst : TStringList;
 66   i : integer;
 67 begin
 68   result := 0;
 69   lst := TStringList.Create;
 70   try
 71     lst.Delimiter := '.';
 72     lst.DelimitedText := strIP;
 73     for i := 0 to lst.Count - 1 do
 74       result := result + StrToInt64(lst[i]) shl (24 - i * 8);
 75   finally
 76     lst.Free;
 77   end;
 78 end;
 79
 80 procedure TForm1.Button1Click(Sender: TObject);
 81 var
 82   Service: JObject;
 83   WifiManager: JWifiManager;
 84   ConnectionInfo: JWifiInfo;
 85   ScanResults: JList;
 86   ScanResult: JScanResult;
 87   I: Integer;
 88   iIP: Int64;
 89 begin
 90   Memo1.Lines.Clear;
 91   Service := SharedActivity.getSystemService(TJContext.JavaClass.WIFI_SERVICE);
 92   WifiManager := TJWifiManager.Wrap((Service as ILocalObject).GetObjectID);
 93   if not WifiManager.isWifiEnabled then
 94     Memo1.Lines.Add('WiFi禁用')
 95   else
 96   begin
 97     ConnectionInfo := WifiManager.getConnectionInfo;
 98     Memo1.Lines.Add('连接信息');
 99     Memo1.Lines.Add('  SSID: ' + JStringToString(ConnectionInfo.getSSID));
100     Memo1.Lines.Add('  BSSID: ' + JStringToString(ConnectionInfo.getBSSID));
101     Memo1.Lines.Add('  IPV4: ' +  int2Ip(ConnectionInfo.getIpAddress));
102     Memo1.Lines.Add('  MAC address: ' + JStringToString(ConnectionInfo.getMacAddress));
103     ScanResults := WifiManager.getScanResults;
104     for I := 0 to ScanResults.size - 1 do
105     begin
106       Memo1.Lines.Add('');
107       Memo1.Lines.Add('检测到的接入点 ' + IntToStr(I));
108       ScanResult := TJScanResult.Wrap((ScanResults.get(I) as ILocalObject).GetObjectID);
109       Memo1.Lines.Add('  SSID: ' + JStringToString(ScanResult.SSID));
110       Memo1.Lines.Add('  BSSID: ' + JStringToString(ScanResult.BSSID));
111       Memo1.Lines.Add('  Capabilities: ' + JStringToString(ScanResult.capabilities));
112       Memo1.Lines.Add('  Frequency: ' + IntToStr(ScanResult.frequency) + 'MHz');
113       Memo1.Lines.Add('  Signal level: ' + IntToStr(ScanResult.level) + 'dBm');
114     end
115   end;
116 end;
117
118 end.

转载于:https://www.cnblogs.com/FKdelphi/p/4814155.html

Android实例-获取安卓手机WIFI信息(XE8+小米2)相关推荐

  1. Android实例-解决虚拟键盘遮挡问题(XE8+小米2)

    Android实例-解决虚拟键盘遮挡问题(XE8+小米2) 参考文章: (1)Android实例-解决虚拟键盘遮挡问题(XE8+小米2) (2)https://www.cnblogs.com/FKde ...

  2. Android实例-录音与回放(播放MP3)(XE8+小米2)

    结果: 1.增加ActionList中的Action时,需要跳到Master界面,不能在Android4Phonel界面下. 2.如果不打开权限的话,会提示"该设备不支持停止录音操作&quo ...

  3. 【Android工具】更新安卓手机传感器信息获取工具Ampere Castro phyphox,轻松获取硬件数据和状态信息...

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 上次分享过一个安卓手机传感器信息获取工具--Castro(本文下边),这个软件没有充电 ...

  4. Unity获取安卓手机运营商信息

    Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用 一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了 ...

  5. android检测设备信息,安卓手机设备信息检测app

    安卓手机设备信息检测app是一款能够帮助用户快速检测自己的手机设备的硬件以及相关系统的app,这款app能够在最快的时间内检测出手机的所有硬件信息与手机系统的版本信息吗,让用户瞬间了解到自己的手机信息 ...

  6. android 获取当前输入法,关于获取安卓手机系统输入法和设置输入法

    关于获取安卓手机系统输入法和设置输入法 获取输入法列表 adb shell ime list -s 出来下面的 io.appium.android.ime/.UnicodeIME com.sec.an ...

  7. Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查

    Android SDK 连接安卓手机过程演示 第一章:一加8手机连接过程 ① 启用开发者模式 ③ 开发者选项启用 USB 调试 ③ 手机连接 USB 调试 ④ 手机连接不显示 USB 调试选项问题排查 ...

  8. php 获得手机位置坐标,获取安卓手机的坐标位置

    1.打开Android手机"设置"APP,点击"关于手机". 2.在"版本号"上连续点击5次,打开"开发者选项".也有些 ...

  9. 如何获取安卓手机设备名称(包括用户自定义名称)

    获取安卓手机设备名称 最近公司有个需求,需要获取安卓手机的设备名称 搜了一大波资料后发现大多数获取设备名称的方法都是通过android.os.Build这个类拿到的,但是这种方法只能拿到手机型号啊,不 ...

最新文章

  1. vue 路由传参 params 与 query两种方式的区别(转载)
  2. cudnn下载_记录新电脑安装Ubuntu18.04,CUDA, cuDNN全过程
  3. python拼写错误20几分钟怎么办_Python | 21行轻松搞定拼写检查器
  4. react-native与原生三种交互模式
  5. jinja Template
  6. zynq开发系列4:EMIO连接按键控制MIO连接的灯
  7. CF620E New Year Tree
  8. COMMUNITY DETECTION
  9. win10清理c盘_系统慢?给你的C盘减减肥!
  10. android popupwindow 消失动画,PopupWindow动画结束后dismiss崩溃解决
  11. 赛后题解——真假亚瑟王(数论)
  12. 正则表达式匹配中英文姓名
  13. 直播APP制作时即时聊天功能实现
  14. Linux系统下生成bit和mcs文件
  15. 什么是前端模块化?为什么要进行模块化开发?前端技术文章分享
  16. vTPM环境部署(ubuntu)
  17. 通用二维码生成 API 接口
  18. windows10远程桌面连接
  19. 解决转换flash的SWF到视频文件没有声音的问题
  20. Centos7下下载git

热门文章

  1. Profinet 技术简介
  2. PPT排版 驼峰设计 PPT代做
  3. java用逆波兰表达式实现字符串计算器
  4. Android开发中调用百度地图SDK
  5. 2021 - 45周(App合规自查)
  6. Python初体验——Hello World【educoder】
  7. 小米扫地机器人清扫完成暂停_小米扫地机器人怎么清扫?采用新“看法” 让家里干净如新...
  8. B端大屏可视化设计参考网站分享、大数据可视化设计
  9. C语言-轻松掌握|struct结构体|知识点
  10. 虚拟机NAT和Bridge网络模式的区别和选择