1

IPアドレスを取得したい。そのIPアドレスを使用すると、特定のネットワーク/デバイスに接続されているデバイス全体を検出する必要があります。また、MACアドレスを取得できる必要がありますか?

 tv=(TextView)findViewById(R.id.tv);
 wifi=(WifiManager)getSystemService(WIFI_SERVICE) ;
 btn=(Button)findViewById(R.id.btn);
 btn.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 try {
 InetAddress inet=InetAddress.getLocalHost();
 Toast.makeText(getApplicationContext(),inet.toString(),Toast.LENGTH_LONG).show();
 } catch (Exception e) {
 System.out.println(" ");
    }
4

3 に答える 3

3

ネットワークに接続されている「エミュレータ」またはAndroidデバイスのIPアドレスを検出する場合は、プログラムでこのコードを使用してください。ネットワークがデバイスに割り当てた正確なIPアドレスが表示されます。

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())
          return inetAddress.getHostAddress().toString(); 
       }
     }

    }
     catch (SocketException ex) 
     { 
       Log.e("ServerActivity", ex.toString());
      }
于 2013-02-24T08:28:06.043 に答える
0

Wi-Fi Direct シナリオで各デバイスの IP アドレスを取得するにはどうすればよいですか?

http://developer.android.com/guide/topics/connectivity/wifip2p.html

これらのリンクが役立つ場合があります。

于 2012-08-21T10:17:17.687 に答える