我需要检索当前移动设备中可用的所有可用 MAC 地址,如果可能,还需要检索当前活动的网卡 IP 地址。
- 如何在 Delphi XE5 / XE6 中获取当前活动的网卡 MAC 和 IP 地址?
我需要检索当前移动设备中可用的所有可用 MAC 地址,如果可能,还需要检索当前活动的网卡 IP 地址。
跟进@wholegrain 的回答和@user3631728 发布的链接中的此信息如何以编程方式获取iphone 的MAC 地址:
“在iOS 7及以后的版本中,如果你询问iOS设备的MAC地址,系统返回值02:00:00:00:00:00。如果你需要识别设备,使用UIDevice的identifierForVendor属性(需要一个标识符用于自己的广告目的的应用程序应考虑改用 ASIdentifierManager 的 adsIdentifier 属性。)“
如果这样就足够了,您可以为 IOS 执行以下操作:
Uses
{$IFDEF IOS}
iOSApi.UIKit;
{$ENDIF}
procedure TForm1.Button2Click(Sender: TObject);
var
{$IFDEF IOS}
Device : UIDevice;
{$ENDIF}
begin
{$IFDEF IOS}
Device := TUIDevice.Wrap(TUIDevice.OCClass.currentDevice);
ShowMessage(Device.uniqueIdentifier.UTF8String);
ShowMessage(Device.identifierForVendor.UUIDString.UTF8String);
{$ENDIF}
end;
自 iOS7 起,无法检索设备的 Mac 地址。
对于安卓:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String macAddress = wInfo.getMacAddress();