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.
时间: 2024-10-13 22:11:52

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

Android实例-监测网络状态及一些事件(XE8+小米2)

1.网络连接:是指现在可不可以上网(你非要问我什么是网,我会K你呀的). 2.WIFI网络:是指现在可以上网,用的是不是WIFI网络(如果你打开了WIFI那它会显示正在使用WIFI). 3.移动网络:是指现在可以上网,用的是不是移动网络(如果你打开了移动的数据流量它会显示移动网络). 第三方单元: 1 unit Androidapi.JNI.Network; 2 3 interface 4 5 function IsConnected: Boolean; 6 7 function IsWiFiC

Android实例-MediaPlayer播放音乐和视频(XE8+小米2)

结果: 1.播放视频需要手动放入MediaPlayerControl1控件,设置MediaPlayerControl1.MediaPlayer := MediaPlayer1; 2.播放声音文件正常,但播放器视时发现,第一边正常第二边就报错了(哪位大神知道的,请M我哦,先谢谢了). 3.打包时需要打入MP3与MP4文件,路径为"assets\internal\". 实例代码: 1 unit Unit1; 2 3 interface 4 5 uses 6 System.SysUtils,

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

结果: 1.增加ActionList中的Action时,需要跳到Master界面,不能在Android4Phonel界面下. 2.如果不打开权限的话,会提示“该设备不支持停止录音操作”(Record audion改为True). 3.播放的效果是播放一次就停止了.不是循环的. 实例代码: 1 unit Unit1; 2 3 interface 4 5 uses 6 System.SysUtils, System.Types, System.UITypes, System.Classes, Sys

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

结果: 1.可以自动向上移动,来防遮挡,但同时发现个问题,如果是按硬件返回没有问题,要是点输入法(QQ.百度输入法)上的隐藏就不行了. 2.点击Edit2后出现输入法,点输入法上的隐藏后, 再点Edit2输入法不再显示. 实例代码: 1 unit Unit1; 2 3 interface 4 5 uses 6 System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 7 FMX.Types, F

Android实例-解决启动黑屏问题(XE8+小米2)

结果: 1.在启动时马上出现图片界面,但在出现程序界面前会有黑屏,大约有0.2秒左右. 实现: 1.建立2个文件:loading.png和styles.xml: ①其中loading.png是启动时替代黑屏的图片. ②styles.xml是对背景图片的定义,其内容为: 1 <resources> 2 3 <!-- 4 Base application theme, dependent on API level. This theme is replaced 5 by AppBaseThe

安卓手机wifi 无法获取ip问题解决

最近买了部安卓的手机,google nexus5 系统是安卓4.4.2. 刚到手就发现链接wifi有问题,一直在获取ip(obtaining ip...)和验证.试过恢复出厂 重启 各种都不管用,只有设置静态ip才可以,但是不能一直这样子呀!! 查了下路由器,路由器已经分配了地址.所以最大可能就是安卓手机上拿到这个地址没有成功写入配置文件,为什么没有写入呢,就是权限的问题了,不明白为什么google会出现这个错误. 因为不熟悉安卓系统,所以查了好几天,终于在一个外国网站上发现了下面这个解决办法,

Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)

结语: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->options…--> users permitions. 3.1 Send SMS 3.2 Read Phone State权限:将其变成 true即可. 如果 read phone state为 false,程序将启动不了,一直黑屏(我没试,原作者是这么说的,你如果没事可以试一试,试过记得给我说一声哦).

Android实现获取应用程序相关信息列表的方法

本文所述为Androdi获取手机应用列表的方法,比如获取到Android应用的软件属性.大小和应用程序路径.应用名称等,获取所有已安装的Android应用列表,包括那些卸载了的,但没有清除数据的应用程序,同时在获取到应用信息的时候,判断是不是系统的应用程序,这是一个应用管理器所必需具备的功能. 具体实现代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Android实例-获取程序版本号

相关资料: 383675978群号 实例源码: 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, 8 FMX.Controls.Presentation, FMX.StdCtrls,