私は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の
問題に関するいくつかのアイデア?
ありがとうございます。
あなたは、その使用許可タグを置いた場所で、マニフェストファイルをより慎重にチェックする必要があります。私はコードをテストしたところ、うまくいきました。 –
他のプロジェクトで許可が働いていますが、正しい場所にあると思います。しかし、コメントをいただきありがとうございます。 – vgonisanz