2010-04-30 13 views
10

Ich habe versucht, http-Cleint Tutorials von svn.apache.org. Beim Ausführen der Anwendung erhalte ich den folgenden Fehler in der Konsole.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 

Ich habe android.permission.INTERNET in AndroidManifest.xml hinzugefügt.

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

Der Java-Code in HalloAndroid.java ist wie folgt

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 
     } 

Jede Hilfe ist sehr geschätzt.

Antwort

9

Problem gelöst. Diese Zeile in der Datei AndroidManifest.xml verursachte das Problem.

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

Ich verstehe es nicht, was war der Fehler? –

+0

Wahrscheinlich wurde diese Berechtigung nicht im Manifest hinzugefügt. –

Verwandte Themen