2011-01-20 24 views

答えて

0
+0

実際に、私はそのコードを試しました。しかし、私はWifiManagerがAndroid Emulatorでうまく動作しないと思う。それは私にエラーを与えている。単一のホストコンピュータのIPアドレスを与えるでしょう.iネットワーク内のすべてのコンピュータが必要です – Bhagya

+0

ここのコードはエミュレータでも私のために働いています - > http://www.droidnova.com/get-the-ip-address-あなたのデバイスの、304.html – HT03

+0

私はすべての権限とそのコードを追加しました。それでも私は「アプリケーションが予期せず停止しました」というエラーを表示しています。何をすべきか??? – Bhagya

2

あなたはlogcatを共有することができ、私はのWi-FiのIPアドレスが

を働いている場合にのみチェックするために、サンプル・アプリケーションに(あるとして)、このコードは他のいくつかのissue.Tryがあるかもしれない疑いが試してみてください
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); 
WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 

int ipAddress = wifiInfo.getIpAddress(); 

String ip = null; 

ip = String.format("%d.%d.%d.%d", 
(ipAddress & 0xff), 
(ipAddress >> 8 & 0xff), 
(ipAddress >> 16 & 0xff), 
(ipAddress >> 24 & 0xff)) 
+0

このコードは、間違いなく、IPアドレスを0.0.0.0として表示しています – Bhagya

+0

plz誰か助けて!!!! – Bhagya

+0

実際には、アドレスとして0.0.0.0を表示している場合は、お使いのデバイスでWiFiが有効になっていても、お使いの携帯電話がWi-Fiネットワークに接続されていないことを意味します – leochab

1

別のトピックで述べたように、アンドロイドエミュレータは仮想プライベートネットワーク上で動作します。

これは、エミュレータがコンピュータと同じネットワーク上ではなく、仮想エミュレータ上にあることを意味します。エミュレータは他のデバイスや他のエミュレータを見ることができず、他のデバイスはエミュレータを見ることができません。

それとは別に、私は疑問を持っている:

にはどうすれWifiManagerを使用して、ホスト名のIPアドレスを取得することができますか?

たとえば、私のPCは私のAndroid携帯電話(エミュレータではない)と同じLANにあり、User-PCのようなホスト名を持っています。 InetAddress.getByName( "User-PC")でIPを取得しようとすると、 Javaアプリケーションでは、192.168.1.100のようなLAN IPを取得しますが、電話で試してみると動作しません。奇妙なことはIPを知っていれば接続できますが、それを解決できないようですホスト名

アイデア?

1

ネットワークに接続されている "エミュレータ"または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()) 
         { 
           String Ip= inetAddress.getHostAddress().toString(); 
           //Now use this Ip Address... 
         } 
         } 
        } 

      } 
    catch (SocketException obj) 
    { 
     Log.e("Error occurred during IP fetching: ", obj.toString()); 
     } 
関連する問題