2010-04-30 12 views
10

Estaba probando tutoriales http-cleint de svn.apache.org. Al ejecutar la aplicación, recibo el siguiente error en la consola.Android: HTTPClient

[2010-04-30 09:26:36 - HalloAndroid] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.org.example/.HalloAndroid } from null (pid=-1, uid=-1) requires android.permission.INTERNET 

He añadido android.permission.INTERNET en AndroidManifest.xml.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.org.example" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".HalloAndroid" 
        android:label="@string/app_name" android:permission="android.permission.INTERNET"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

</manifest> 

El código java en HalloAndroid.java es como sigue

HttpClient httpclient = new DefaultHttpClient(); 
    HttpGet httpget2 = new HttpGet("http://google.com/"); 
     HttpResponse response2 = null; 
     try { 
      response2 = httpclient.execute(httpget2); 
     } catch (ClientProtocolException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
    HttpEntity entity = response2.getEntity(); 
    if (entity != null) { 
     long len = entity.getContentLength(); 
     if (len != -1 && len < 2048) { 
      try { 
        Log.d(TAG, EntityUtils.toString(entity)); 
       } catch (ParseException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
     } else { 
      // Stream content out 
     } 

Cualquier ayuda es muy apreciada.

Respuesta

9

Problema resuelto. Esta línea en el archivo AndroidManifest.xml estaba causando el problema.

android:permission="android.permission.INTERNET" 
+0

No lo entiendo ¿qué fue el error? –

+0

Es muy probable que este permiso no se haya agregado en el Manifiesto. –

Cuestiones relacionadas