2015-08-01 5 views
0

Я пытаюсь использовать AsyncTask для извлечения изображения через Интернет и отображения в RecyclerViewer, но я получаю следующее сообщение об ошибке, которое было захвачено из моего исключения в моей doInBackground из моего класса RecyclerViewAdapter :AsyncTask Разрешение отклонено (отсутствует разрешение INTERNET?)

08-02 00:11:25.608: E/ImageDownload(5753): Download failed: Permission denied (missing INTERNET permission?) 

Посмотреть полную версию AsyncTask подклассу ниже:

class GetImageFromNet extends AsyncTask<String, Void, Bitmap> { 

private RVAdapter.PersonViewHolder personViewHolder; 
private String url = "http://ia.media-imdb.com/images/M/[email protected]_V1_SX300.jpg"; 

public GetImageFromNet(RVAdapter.PersonViewHolder personViewHolder){ 
    this.personViewHolder = personViewHolder; 
} 
protected Bitmap doInBackground(String... params) { 
    try { 
     InputStream in = new java.net.URL(url).openStream(); 
     Bitmap bitmap = BitmapFactory.decodeStream(in); 
     return bitmap; 
     //NOTE: it is not thread-safe to set the ImageView from inside this method. It must be done in onPostExecute() 
    } catch (Exception e) { 
     Log.e("ImageDownload", "Download failed: " + e.getMessage()); 
    } 
    return null; 
} 

protected void onPostExecute(Bitmap bitmap) { 
    if (isCancelled()) { 
     bitmap = null; 
    } 
    personViewHolder.personPhoto.setImageBitmap(bitmap); 
} 

Я понятия не имею, почему я получаю выше ошибки, так как я уже добавили следующие разрешения на доступ в моем AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.xxx" > 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

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


     <activity 
      android:name=".MainActivity" 
      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> 

</manifest> 

Пожалуйста, помогите!

+0

кажется, что это проблема сервера, который и необходимо для учетных данных для загрузки изображений – sakir

ответ

1

Переместите ваши <uses-permission> элементами, чтобы быть незамедлительными детьми <manifest>, над вашим элементом <application>.

1

Update манифесте как: -

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.xxx" > 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     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> 

Смежные вопросы