Internet-Zugang funktioniert nicht in Android 1.6, funktioniert aber in 2.0 / 2.1 / 2.2
-
26-09-2019 - |
Frage
Ich versuche, einige html mit jsoup (1.3.3) in meiner Android-Aktivität zu analysieren. Wenn ich nenne diesen Code
Jsoup.connect("http://www.google.com").get();
Es funktioniert gut in Android 2.1 und 2.2, aber in 1.6 erhalte ich einen. "Java.io.IOException: 403 Fehler beim Laden des URL"
Ich bin mit dem Emulator dies zu testen und ich habe bemerkt, dass AdMob-Anzeigen sind auch nicht in 1.6 zeigen aber sie arbeiten in 2.0, 2.1 und 2.2.
Mit dem Web-Browser in dem 1.6-Emulator funktioniert so dass ich ziemlich zuversichtlich bin das Problem in meinem Code irgendwo ist.
Gibt es eine zusätzliche Erlaubnis Ich brauche für den Internetzugang in 1.6, dass Sie nicht in 2.0 +?
brauchenDies ist, wie mein Manifest-Datei strukturiert ist, ändert sich die Position des Verwendungszulassungs-Tag keine Wirkung?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.foo.bar"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto">
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:name="blahblah"
android:description="@string/app_desc">
<activity android:label="@string/app_name" android:name=".activities.MainMenu">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.FullList" android:label="@string/app_name"/>
<!-- The application's publisher ID assigned by AdMob -->
<meta-data android:value="blahblahblah" android:name="ADMOB_PUBLISHER_ID" />
</application>
<uses-sdk android:minSdkVersion="4"/>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
Ich habe versucht, ein neues Projekt von Grund auf neu mit nur einem Hallo-Welt-Bildschirm erstellen, die die Jsoup.connect () -Methode verwendet und das funktioniert gut auf dem gleichen 1,6-Emulator, so dass es ein Code Problem sein muss, aber ich kann nicht es herausfinden.
Lösung
JSOUP intern verwendet HttpURLConnection . Hier ist die Linie Werfen Ausnahme .
Die Internet-Verbindung ist OK (sonst wäre es Ausnahme früher werfen), und Sie werden eine Antwort vom Server erhalten, die lautet: 403 HTTP VERBOTEN
Gibt es irgendeine Art von Login an Ort und Stelle? Haben Sie sicher, dass die gleiche URL in Browser auf dem gleichen Gerät / Emulator öffnen können.
Andere Tipps
Versuchen Sie Einfügen / Uses-sdk nahe dem Ende des Skripts oder versuchen, zu löschen / Uses-Erlaubnis mit jeweils mit spitzen Klammern
Ich habe versucht, ein neues Projekt von Grund auf neu mit nur einem Hallo-Welt-Bildschirm erstellen, die die Jsoup.connect () -Methode verwendet und das funktioniert gut auf dem gleichen 1,6-Emulator, so dass es ein Code Problem sein muss, aber ich kann nicht es herausfinden.
Versuchen Sie, eine Test Verwendung dieses früh in Ihrem Start der Anwendung setzen (oder wenn das ein ANR-Timeout verursacht, fügen Sie eine „Test“ Taste)
Sie eine Kopie Ihres Antrag und eine Menge Dinge auf Kommentar
Irgendwo zwischen dem minimalen Test, der funktioniert und Ihre vollständige Anwendung, die nicht der Fall, da liegt ein wichtiger Unterschied. Recursively den Unterschied teile und herrsche es ...