简体   繁体   English

AsyncTask权限被拒绝(缺少INTERNET权限?)

[英]AsyncTask Permission denied (missing INTERNET permission?)

I am trying use AsyncTask to extract an image over the internet and display on the RecyclerViewer but I am getting the following error message, which's captured from my Exception in my doInBackground from my RecyclerViewAdapter class: 我正在尝试使用AsyncTask通过Internet提取图像并显示在RecyclerViewer上,但是我收到以下错误消息,该消息是从RecyclerViewAdapter类的doInBackground中的Exception捕获的:

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

See full version of AsyncTask sub-class below: 请参阅下面的完整版本的AsyncTask子类:

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

private RVAdapter.PersonViewHolder personViewHolder;
private String url = "http://ia.media-imdb.com/images/M/MV5BNDMyODU3ODk3Ml5BMl5BanBnXkFtZTgwNDc1ODkwNjE@._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);
}

I have no idea why I am getting above error since I have already added the following permission access in my AndroidManifest.xml: 我不知道为什么会出现上述错误,因为我已经在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>

Please help! 请帮忙!

<uses-permission>元素移动为<manifest>直接子元素,在您的<application>元素上方。

Update your manifest as:- 将清单更新为:-

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM