在移动设备中获取MAC地址?

时间:2014-06-02 10:14:53

标签: android ios delphi delphi-xe5 delphi-xe6

我需要检索当前移动设备中可用的所有可用MAC地址,如果可能,还需要检索当前活动的网卡IP地址。

  • 如何在Delphi XE5 / XE6中获取当前活动的网卡MAC和IP地址?

3 个答案:

答案 0 :(得分:3)

在@ user3631728 How can I programmatically get the MAC address of an iphone发布的链接中跟进@ wholegrain的回答和此信息:

  

“在iOS 7及更高版本中,如果您要求提供iOS设备的MAC地址,   系统返回值02:00:00:00:00:00。如果你需要   识别设备,使用UIDevice的identifierForVendor属性   代替。 (需要自己广告标识符的应用   目的应该考虑使用的advertisingIdentifier属性   而不是ASIdentifierManager。)“

如果这样就足够了,你可以为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;

答案 1 :(得分:1)

对于Android:

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String macAddress = wInfo.getMacAddress(); 

答案 2 :(得分:1)

自iOS7以来,无法检索设备的Mac地址。