Android实例-获取安卓手机WIFI信息(XE8+小米2)
结果:
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)相关推荐
- Android实例-解决虚拟键盘遮挡问题(XE8+小米2)
Android实例-解决虚拟键盘遮挡问题(XE8+小米2) 参考文章: (1)Android实例-解决虚拟键盘遮挡问题(XE8+小米2) (2)https://www.cnblogs.com/FKde ...
- Android实例-录音与回放(播放MP3)(XE8+小米2)
结果: 1.增加ActionList中的Action时,需要跳到Master界面,不能在Android4Phonel界面下. 2.如果不打开权限的话,会提示"该设备不支持停止录音操作&quo ...
- 【Android工具】更新安卓手机传感器信息获取工具Ampere Castro phyphox,轻松获取硬件数据和状态信息...
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 上次分享过一个安卓手机传感器信息获取工具--Castro(本文下边),这个软件没有充电 ...
- Unity获取安卓手机运营商信息
Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用 一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了 ...
- android检测设备信息,安卓手机设备信息检测app
安卓手机设备信息检测app是一款能够帮助用户快速检测自己的手机设备的硬件以及相关系统的app,这款app能够在最快的时间内检测出手机的所有硬件信息与手机系统的版本信息吗,让用户瞬间了解到自己的手机信息 ...
- android 获取当前输入法,关于获取安卓手机系统输入法和设置输入法
关于获取安卓手机系统输入法和设置输入法 获取输入法列表 adb shell ime list -s 出来下面的 io.appium.android.ime/.UnicodeIME com.sec.an ...
- Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
Android SDK 连接安卓手机过程演示 第一章:一加8手机连接过程 ① 启用开发者模式 ③ 开发者选项启用 USB 调试 ③ 手机连接 USB 调试 ④ 手机连接不显示 USB 调试选项问题排查 ...
- php 获得手机位置坐标,获取安卓手机的坐标位置
1.打开Android手机"设置"APP,点击"关于手机". 2.在"版本号"上连续点击5次,打开"开发者选项".也有些 ...
- 如何获取安卓手机设备名称(包括用户自定义名称)
获取安卓手机设备名称 最近公司有个需求,需要获取安卓手机的设备名称 搜了一大波资料后发现大多数获取设备名称的方法都是通过android.os.Build这个类拿到的,但是这种方法只能拿到手机型号啊,不 ...
最新文章
- vue 路由传参 params 与 query两种方式的区别(转载)
- cudnn下载_记录新电脑安装Ubuntu18.04,CUDA, cuDNN全过程
- python拼写错误20几分钟怎么办_Python | 21行轻松搞定拼写检查器
- react-native与原生三种交互模式
- jinja Template
- zynq开发系列4:EMIO连接按键控制MIO连接的灯
- CF620E New Year Tree
- COMMUNITY DETECTION
- win10清理c盘_系统慢?给你的C盘减减肥!
- android popupwindow 消失动画,PopupWindow动画结束后dismiss崩溃解决
- 赛后题解——真假亚瑟王(数论)
- 正则表达式匹配中英文姓名
- 直播APP制作时即时聊天功能实现
- Linux系统下生成bit和mcs文件
- 什么是前端模块化?为什么要进行模块化开发?前端技术文章分享
- vTPM环境部署(ubuntu)
- 通用二维码生成 API 接口
- windows10远程桌面连接
- 解决转换flash的SWF到视频文件没有声音的问题
- Centos7下下载git