I am trying to call httpClient and the answer is "Permission denied (missing INTERNET permission?)". In a normal Android browser, I can open the URL without any problems.
public static String getHttpResponse(URI uri) { StringBuilder response = new StringBuilder(); try { HttpGet get = new HttpGet(); get.setURI(uri); DefaultHttpClient httpClient = new DefaultHttpClient(); HttpResponse httpResponse = httpClient.execute(get); if (httpResponse.getStatusLine().getStatusCode() == 200) { Log.d("demo", "HTTP Get succeeded"); HttpEntity messageEntity = httpResponse.getEntity(); InputStream is = messageEntity.getContent(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while ((line = br.readLine()) != null) { response.append(line); } } } catch (Exception e) { Log.e("demo", e.getMessage()); } Log.d("demo", "Done with HTTP getting"); return response.toString(); }
The catch log tells me about the error:
java.lang.SecurityException: Permission denied (missing INTERNET permission?) libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname) Permission denied (missing INTERNET permission?)
There is a set of permissions in my manifest:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="..." > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-feature android:name="android.hardware.camera" android:required="true" /> <activity android:name=".main" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
android android permissions
user1878413 Aug 05 '14 at 9:38 a.m. 2014-08-05 09:38
source share