Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Como capturar la ip de mi Desarrollo Android (https://www.clubdelphi.com/foros/showthread.php?t=91933)

jo3litro 06-06-2017 00:14:28

Como capturar la ip de mi Desarrollo Android
 
Hola a todos,

Estoy queriendo capturar la IP de mi dispositivo android desde mi app desarrollada con Embarcadero 8.

Para la compilación de Windows se como se hace, pero para android ni idea. He intentado usar el mismo codigo que tengo para windows, pero da error en el Uses Winsock.

Alguien pudo ?

Saludos.

AgustinOrtu 06-06-2017 00:51:03

Hola jo3litro

Cita:

Embarcadero 8
:confused::confused:

Cual es Embarcadero 8?

Deberias utilizar la clase WifiInfo de Android, podes hablar con ella desde Delphi utilizando la interfaz JWifiInfo. Parece ser que el metodo que necesitas es getIpAddress

En esta unidad que tengo alojada en mi repositorio se muestra como utilizar la interfaz:

https://github.com/ortuagustin/Delph...fo.Android.pas

En concreto, este fragmento de codigo te puede servir como punto de partida:

Código Delphi [-]
constructor TAndroidWifiInfo.Create;
var
  ConnectionInfo: JWifiInfo;
begin
  Service := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.WIFI_SERVICE);
  WifiManager := TJWifiManager.Wrap((Service as ILocalObject).GetObjectID);
  if not WifiManager.isWifiEnabled then
    raise Exception.Create('Wifi is not enabled');

  ConnectionInfo := WifiManager.getConnectionInfo;
  FSSID := JStringToString(ConnectionInfo.getSSID);
  FBSSID := JStringToString(ConnectionInfo.getBSSID);
  FMac := JStringToString(ConnectionInfo.getMacAddress);
end;

{ podrias intentar algo como esto
   IP := ConnectionInfo.getIpAddress();
}

Es posible que tengas que agregar varias unidades en el uses, revisa la clausula uses de mi proyecto. Adicionalmente, existe una unidad que debes importar, la Android.Net.Wifi.pas la cual tambien esta alojada en el repositorio

jo3litro 06-06-2017 22:32:49

1 Archivos Adjunto(s)
Hola AgustinOrtu,

Gracias por la respuesta. El embarcadero 8 es el RAD Studio XE8,

Probare tu codigo a ver si me funciona.

Saludos y gracias nuevamente.


La franja horaria es GMT +2. Ahora son las 04:30:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi