Pregunta

Estoy tratando de analizar algunos html usando jsoup (1.3.3) en mi actividad androide. Cuando llamo a este código

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

Funciona bien en Android 2.1 y 2.2, pero en 1,6 recibo una "java.io.IOException: URL de carga Error 403"

Estoy usando el emulador para probar esto y me he dado cuenta de que los anuncios de AdMob tampoco se muestran en 1.6 pero funcionan en 2.0, 2.1 y 2.2.

Uso del navegador web 1.6 en el emulador funciona así que estoy bastante seguro de que el problema está en mi código en algún lugar.

¿Hay alguna necesidad permiso adicional para que el acceso a internet en 1.6 que no es necesario en 2,0 +?

Esto es cómo se estructura mi archivo de manifiesto, no la posición de la etiqueta de usos en el permiso tiene ningún efecto?

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

He intentado crear un nuevo proyecto desde cero, con sólo una cortina de hola mundo que utiliza el método Jsoup.connect () y que funciona bien en el mismo emulador de 1,6, por lo que debe ser un problema de código pero no puedo averiguarlo.

¿Fue útil?

Solución

HttpURLConnection . Aquí está el lanzacabos excepción .

La conexión a internet está bien (o de lo contrario sería tirar excepción antes) y que está recibiendo una respuesta del servidor que es: 403 HTTP PROHIBIDA

¿Hay algún tipo de inicio de sesión en su sitio? Hacer el registro que puede abrir la misma URL en el navegador en el mismo dispositivo / emulador.

Otros consejos

Trate de insertar / usos-SDK cerca del final de la secuencia de comandos o tratar de eliminar / usos en el permiso con cada una rodeada con paréntesis angulares

  

He intentado crear un nuevo proyecto desde cero, con sólo una cortina de hola mundo que utiliza el método Jsoup.connect () y que funciona bien en el mismo emulador de 1,6, por lo que debe ser un problema de código pero no puedo averiguarlo.

Trate de poner un uso de prueba de este principio de su inicio de la aplicación (o, si esto provoca un tiempo de espera de la ANR, añadir un botón de "prueba")

Haga una copia de su solicitud y comentar muchas cosas

En algún lugar entre la prueba mínima que funciona y su aplicación completa, que no lo hace, no se encuentra una diferencia importante. Recursiva dividir la diferencia y conquistarla ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top