【问题标题】:Get MAC address in mobile devices?在移动设备中获取 MAC 地址?
【发布时间】:2014-07-22 10:20:29
【问题描述】:

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

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

【问题讨论】:

  • 我认为[这篇文章][1] 会为您解决问题! [1]:stackoverflow.com/questions/677530/…
  • @user3631728:cmets 不支持引用样式的链接,请改用内联链接。添加新评论时,单击help 链接以查看正确的语法。

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


【解决方案1】:

对于安卓:

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

【讨论】:

    【解决方案2】:

    从iOS7开始,无法获取设备的Mac地址。

    【讨论】:

      【解决方案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;
      

      【讨论】:

      • 如果没有其他选择,我似乎不得不走这条路:|谢谢你的好提示! :)
      猜你喜欢
      • 2011-11-04
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多