Android:IllegalStateException:Cand';执行getThumbail时初始化游标窗口

Android:IllegalStateException:Cand';执行getThumbail时初始化游标窗口,android,image,cursor,illegalstateexception,Android,Image,Cursor,Illegalstateexception,我的堆栈跟踪显示非法状态异常: java.lang.IllegalStateException:无法初始化游标窗口 位于android.database.CursorWindow.native_init(本机方法) 位于android.database.CursorWindow(CursorWindow.java:63) 位于android.database.CursorWindow(CursorWindow.java:80) 位于android.content.ContentProviderP

我的堆栈跟踪显示非法状态异常:

java.lang.IllegalStateException:无法初始化游标窗口 位于android.database.CursorWindow.native_init(本机方法) 位于android.database.CursorWindow(CursorWindow.java:63) 位于android.database.CursorWindow(CursorWindow.java:80) 位于android.content.ContentProviderProxy.query(ContentProviderNative.java:437) 位于android.content.ContentResolver.query(ContentResolver.java:264) 位于android.provider.MediaStore$InternalThumbnails.getThumbnail(MediaStore.java:387) 位于android.provider.MediaStore$Images$Thumbnails.getThumbnail(MediaStore.java:788) 位于com.topicshow.threading.ImageThread.loadingImageFromID(ImageThread.java:56) 位于com.topicshow.threading.ImageThread.run(ImageThread.java:52)

函数loadingImageFromID是我的处理程序类中的一个函数,线程将在其中向处理程序发送消息,处理程序将调用此函数

    private void loadingImageFromID () {
    Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(
            mContext.getContentResolver(), 
            mNativeID, 
            MediaStore.Images.Thumbnails.MICRO_KIND, 
            new Options());

    if (!mExpired) 
    {
        ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
        bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos); 
        byte[] bitmapdata = bos.toByteArray();

        Message msg = new Message();
        Bundle bundle = new Bundle();
        bundle.putByteArray("IMAGE", bitmapdata);
        msg.setData(bundle);
这是从mediastore获取图像数据的代码

public void loadGalleryToAdapter(int width, String bucketID) {


    Cursor thumbnailCursor = MediaStore.Images.Media.query(getContext().getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
            new String [] { 
                MediaStore.Images.Media._ID,
                MediaStore.Images.ImageColumns.DATE_ADDED
            },
            MediaStore.Images.ImageColumns.BUCKET_ID + " IN (" + bucketID + ")",
            null,
            MediaStore.Images.ImageColumns.DATE_ADDED + " DESC"
    );

    GalleryCursorAdapter adapter = new GalleryCursorAdapter(getContext(), thumbnailCursor, width);  
    setAdapter(adapter); 

}

有人知道发生了什么事吗。loadGalleryToAdapter我不确定它是否是起点,因为stacktrace没有该信息。。。。线程是在适配器中执行的。

您需要MediaStore的特定权限吗?什么类型的权限?我不知道,只是看起来像是某种类型的MediaStore错误