J'essaye d'analyser du HTML en utilisant jsoup (1.3.3) dans mon activité d'androïde. Quand j'appelle ce codeInternet Access ne fonctionne pas dans Android 1.6, mais fonctionne dans 2.0/2.1/2.2
Jsoup.connect("http://www.google.com").get();
Il fonctionne très bien dans Android 2.1 et 2.2 mais 1.6 je reçois un "java.io.IOException: 403 URL de chargement d'erreur". J'utilise l'émulateur pour tester cela et j'ai remarqué que les annonces admob ne sont pas montrées en 1.6 mais elles fonctionnent en 2.0, 2.1 et 2.2. L'utilisation du navigateur Web dans l'émulateur 1.6 fonctionne, donc je suis assez confiant que le problème est dans mon code quelque part.
Existe-t-il une permission supplémentaire dont j'ai besoin pour accéder à Internet dans la version 1.6 dont vous n'avez pas besoin dans la version 2.0+?
Voici comment mon fichier manifeste est structuré, la position de la balise uses-permission a-t-elle un effet?
<?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>
J'ai essayé de créer un nouveau projet à partir de zéro avec juste un écran Bonjour tout le monde qui utilise la méthode Jsoup.connect() et qui fonctionne très bien sur le même émulateur 1.6, il doit donc être un problème de code, mais Je ne peux pas comprendre.
Quelles sont les autorisations dans votre AndroidManifest.xml? Avez-vous essayé d'utiliser directement HttpClient pour frapper l'URL (en faisant sortir Jsoup de la boucle)? – sehugg
Le code 'Document doc = Jsoup.connect (" http://www.google.com ") .get(); Log.i ("jsoup", doc.title()); 'fonctionne pour moi sur l'émulateur 1.6 avec' 'et * jsoup-1.3.3 .jar * –
Avez-vous vérifié avec une autre application telle que le navigateur par défaut que la mise en réseau fonctionne dans cette instance d'émulateur? Peut-être vouloir faire un nouvel émulateur juste pour être sûr. –