Domanda

Sto cercando di analizzare il linguaggio HTML usando jsoup (1.3.3) nella mia attività Android. Quando chiamo questo codice

Jsoup.connect("http://www.google.com").get();

Funziona bene in Android 2.1 e 2.2, ma in 1.6 ho un. "Java.io.IOException: 403 URL Errore durante il caricamento"

Sto usando l'emulatore per testare questo e ho notato che AdMob gli annunci non sono inoltre mostrando in 1.6 ma funzionano in 2.0, 2.1 e 2.2.

Utilizzando il browser web in 1.6 emulatore funziona quindi sono abbastanza fiducioso che il problema è nel mio codice da qualche parte.

C'è qualche extra permessi ho bisogno di connessione internet a 1.6 che non è necessario in 2.0 +?

Ecco come il mio file manifesto è strutturato, non la posizione del tag usi-permesso ha alcun effetto?

<?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>

ho provato la creazione di un nuovo progetto da zero con solo uno schermo ciao mondo che utilizza il metodo Jsoup.connect () e che funziona bene sullo stesso 1.6 emulatore, quindi deve essere un problema di codice ma non posso capirlo.

È stato utile?

Soluzione

HttpURLConnection . Ecco l' linea di lancio eccezione .

La connessione internet è OK (altrimenti getterebbe eccezione in precedenza) e hai trovato una risposta dal server che è: 403 HTTP VIETATO

C'è una sorta di login in atto? Fare controllo che è possibile aprire lo stesso URL nel browser stesso dispositivo / emulatore.

Altri suggerimenti

Provare a inserire / impieghi-sdk vicino alla fine dello script o di provare a cancellare / impieghi-permesso a ogni circondato da parentesi angolari

  

ho provato la creazione di un nuovo progetto da zero con solo uno schermo ciao mondo che utilizza il metodo Jsoup.connect () e che funziona bene sullo stesso 1.6 emulatore, quindi deve essere un problema di codice ma non posso capirlo.

Prova a mettere un utilizzo di prova di questo presto nel vostro avvio dell'applicazione (o, se ciò provoca un timeout ANR, aggiungere un pulsante "test")

Fare una copia della vostra applicazione e commentare un sacco di cose fuori

Da qualche parte tra il test minimale che funziona e l'applicazione completa, che non lo fa, si trova una differenza importante. Ricorsivamente dividere la differenza e conquistarla ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top