Ich habe einen funktionierenden .Net WCF HTTP-Dienst. Wenn ich die URL in IE-, FireFox- oder Google Chrome-Browser einfüge, bekomme ich den richtigen Stream zurück. Aber wenn ich versuche, in einer Android-App (die in Eclipse läuft) auf denselben Dienst zuzugreifen, bekomme ich eine socketException mit der Detailmeldung "Permission Denied". Der Dienst läuft auf meinem Rechner im Visual Studio Webhoster und der Client läuft im Android Emulator auch auf meinem Rechner.Problem beim Zugriff auf funktionierende HTTPService von Android
Die Zeile, die die Ausnahme erhält, ist: InputStream in = neuer BufferedInputStream (urlConnection.getInputStream());
(Ich habe einen früheren Post auf dem gleichen Programm, in dem die URL www.android.com und ich „ungültige URL“ bekommen)
Könnte jemand eine Ahnung, warum der Browser damit kein Problem haben, und der android-client bekommt die erlaubnis verweigert? Dank, Gary
HttpURLConnection urlConnection = null;
try
{
URL url = new URL("http://localhost:8080/TeamTask/Tasks");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
readStream(in);
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
TomJ, danke für die Antwort. Ich kann den Stream jetzt lesen. –
Interessanter (und nicht ganz angenehmer) Nebeneffekt: Wenn Sie HttpUrlConnection in Ihrem * test * -Projekt verwenden, müssen Sie android.permission.INTERNET in Ihrem * main * -Projekt haben, auch wenn das Hauptprojekt möglicherweise nicht einmal HttpUrlConnection-Aufrufe ausführt . –