Ich entwickle ein Programm, das HttpUrlConnection erfordert. Das Problem ist httpConn.connect() nie erfolgreich. Ich habe überprüft, ob die Netzwerkverbindung verfügbar ist und der Status zuvor verbunden ist.Android HttpUrlConnection Verbindung immer fehlgeschlagen
InputStream in = null;
int resCode = -1;
try {
URL url = new URL(urlStr);
URLConnection urlConn = url.openConnection();
if (!(urlConn instanceof HttpURLConnection)) {
throw new IOException("URL is not an Http URL");
}
HttpURLConnection httpConn = (HttpURLConnection) urlConn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();
resCode = httpConn.getResponseCode();
if (resCode == HttpURLConnection.HTTP_OK) {
in = httpConn.getInputStream();
}*/
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
Das Hinzufügen dieses folgenden Codes in der onCreate-Methode verhindert nur das Schließen des Programms.
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
Ich habe diese Berechtigungen in einem offenkundigen
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
hinzugefügt Warum es passieren kann und wie dieses Problem zu lösen?
können Sie Fehlerprotokoll hinzufügen? –
kann URL sein ist nicht korrekt! –
Machst du es auf Ui-Thread? Wenn ja, dann tue es einen anderen Thread wie asynchrone Aufgabe –