2

--> Android アプリケーション エンド ユーザーの IP アドレス

実際に ANDROID アプリケーションを使用しているユーザーのIP アドレスを取得する方法について、インターネット上で割り当てを検索しましたが、適切なコードを取得できませんでした。

私はEclipseでこのAndroidアプリを開発しています。

ほとんどのフォーラムで、まったく到達できないこのリンクを取得します: http://www.droidnova.com/get-the-ip-address-of-your-device,304.html

あなたのサポートが必要です。

ありがとう

4

3 に答える 3

3

次のコードを試すことができます。

  public String getLocalIpAddress() {
    try {
      for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
         NetworkInterface intf = en.nextElement();
         for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
           InetAddress inetAddress = enumIpAddr.nextElement();
           if (!inetAddress.isLoopbackAddress()) {
             String ip = Formatter.formatIpAddress(inetAddress.hashCode());
             return ip;
           }
         }
      }
    } catch (SocketException ex) {
      // 
    }
    return null;
  }

アプリケーションがネットワーク ソケットを開くことを許可するために、次のアクセス許可を追加することを忘れないでください。

 <uses-permission android:name="android.permission.INTERNET" /> 
于 2013-05-07T12:30:40.987 に答える
1
  1. http://www.whatismyip.comへの接続を開き、結果を取得してみてください。
  2. アプリ ホストに対して HTTP POST (または GET) を実行し、どの IP からリクエストが送信されているかを確認します。
  3. SDK を使用します。

編集:コメントに基づく:これは、Android ジョブではなく、クライアント IP を取得するためのサーバー側の役割です。これは、PHP でどのように行うことができるかのサンプルです。$_SERVER['REMOTE_ADDR']

于 2013-05-07T12:29:36.787 に答える