Autore Topic: Ottenere indirizzo IP  (Letto 372 volte)

Offline EdoardoGoffredoDeveloper

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: 0
    • Mostra profilo
Ottenere indirizzo IP
« il: 24 Settembre 2015, 10:21:32 CEST »
0
Salve a tutti..
Avrei bisogno di ottenere l'indirizzo ip di un qualsiasi dispositivo..
In breve voglio creare una semplice app che quando viene aperta o quando viene cliccato su di un pulsante mi dia l'indirizzo ip del dispositivo su cui è installata l'app..
ad esempio.. la installo su un tablet e appena la apro ad esempio mi cambia il testo di default ("HelloWorld") e mi inserisce l'indirizzo ip del tablet..
stessa cosa quindi se la installo su un telefono ecc.. al momento che apro l'app mi cambia il testo o ugualmente  se clicco su di un pulsante e mi cambia il testo o mi va in un'altra pagina dove mi dice l'indirizzo ip..
Sapreste spiegarmi brevemente come fare o ad esempio postare il codice da inserire nel punto preciso?
Grazie mille in anticipo! e spero di essere stato chiaro.. :D
 

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Ottenere indirizzo IP
« Risposta #1 il: 24 Settembre 2015, 10:53:40 CEST »
0
IP della LAN o della wan?

Offline EdoardoGoffredoDeveloper

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: 0
    • Mostra profilo
Re:Ottenere indirizzo IP
« Risposta #2 il: 24 Settembre 2015, 11:26:30 CEST »
0
 ip della LAN

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Ottenere indirizzo IP
« Risposta #3 il: 24 Settembre 2015, 12:34:38 CEST »
0
Codice (Java): [Seleziona]
    public static String wifiIpAddress(Context context) {
        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        int ipAddress = wifiManager.getConnectionInfo().getIpAddress();

        // Convert little-endian to big-endianif needed
        if (ByteOrder.nativeOrder().equals(ByteOrder.LITTLE_ENDIAN)) {
            ipAddress = Integer.reverseBytes(ipAddress);
        }

        byte[] ipByteArray = BigInteger.valueOf(ipAddress).toByteArray();

        String ipAddressString;
        try {
            ipAddressString = InetAddress.getByAddress(ipByteArray).getHostAddress();
        } catch (UnknownHostException ex) {
            Log.e("WIFIIP", "Unable to get host address.");
            ipAddressString = null;
        }

        return ipAddressString;
    }

Offline NetGEL

  • Utente normale
  • ***
  • Post: 207
  • Respect: +9
    • Google+
    • Mostra profilo
  • Play Store ID:
    NetGEL
Re:Ottenere indirizzo IP
« Risposta #4 il: 06 Ottobre 2015, 00:51:01 CEST »
0
è anche corretto fare così?

Codice (Java): [Seleziona]
 private String getIpAddress() {
        try {
            for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {

                NetworkInterface networkInterface = (NetworkInterface) en.nextElement();

                for (Enumeration enumerationIpAddress = networkInterface.getInetAddresses(); enumerationIpAddress.hasMoreElements(); ) {

                    InetAddress inetAddress = (InetAddress) enumerationIpAddress.nextElement();

                    if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
                        return inetAddress.getHostAddress();
                    }
                }
            }
        } catch (SocketException ex) {
            ex.printStackTrace();
        }
        return null;
    }

Offline EdoardoGoffredoDeveloper

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: 0
    • Mostra profilo
Re:Ottenere indirizzo IP
« Risposta #5 il: 08 Ottobre 2015, 11:59:30 CEST »
0
Grazie mille ho risolto! :D