2012-01-11 12 views
2

私はubuntuでeclipse + android SDKを使用していて、ソケットを使ってテストアクティビティサーバーを実行しています。インターネット許可がマニフェストに設定されていますが、アンドロイドデバイスで私のipを取得できません

私のマニフェストは、インターネット許可

<uses-permission android:name="INTERNET"/> 

を持っている。しかし、私が使用してデバイス上で私のIPを探したとき:

Java.net.SocketException: Permission denied 

タグ:

// gets the ip address of your device 
private 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()) { return inetAddress.getHostAddress().toString(); } 
      } 
     } 
    } 
    catch (SocketException ex) 
    { 
     Log.e("ServerActivity", ex.toString()); 
    } 
    return null; 
} 

を私はLogcat上の例外を取得:MyActivity、しかし私はマニフェストに対してインターネット許可を持っています。

私は手動でIPを入れしようとした場合、私はソケットを使用する場合、私はタグでも例外を取得:System.errの

問題に関するいくつかのアイデア?

ありがとうございます。

+1

あなたは、その使用許可タグを置いた場所で、マニフェストファイルをより慎重にチェックする必要があります。私はコードをテストしたところ、うまくいきました。 –

+1

他のプロジェクトで許可が働いていますが、正しい場所にあると思います。しかし、コメントをいただきありがとうございます。 – vgonisanz

答えて

2

私はあなたがマニフェストXMLでこのよう権限を記述する必要がありますと思う:

<uses-permission android:name="android.permission.INTERNET"/> 

だけではなく、「INTERNET」と。場合によっては試してみてください。

+2

はい、問題はそれでした。 Jav_Rockに感謝します。私はばかだ。 – vgonisanz

+2

私はこれを読んで嬉しいです! :) –

関連する問題