繁体   English   中英

空光标查询MediaStore.Images.Media

[英]Empty Cursor query MediaStore.Images.Media

我尝试使用具有contentResolver的MediaStore.Images.Media提供的所有图像获取光标,但是光标为空! (我在手机上尝试了很多图片)。 代码是:

公共类MainActivity扩展了ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Button buttonLoadImage = (Button) findViewById(R.id.buttonLoadPicture);
    buttonLoadImage.setOnClickListener(new View.OnClickListener() {
        @SuppressLint("NewApi")
        @Override
        public void onClick(View arg0) {
            String[] filePathColumn = { MediaStore.Images.Media.DATA };
            Cursor cursor = getContentResolver().query(MediaStore.Images.Media.INTERNAL_CONTENT_URI, filePathColumn, null,null,null);

            if(cursor.moveToFirst()==false) Log.i("my message","EMPTY");

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);


            String picturePath = cursor.getString(columnIndex); 
            cursor.close();
            ImageView imageView = (ImageView) findViewById(R.id.imgView);
            imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
        }
    });
}

您知道如何至少有一个不为空的游标吗? 非常感谢

使用EXTERNAL_CONTENT_URI而不是INTERNAL_CONTENT_URI

Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, filePathColumn , null, null, null);

那么您将拥有一个包含所有文件路径(MediaStore.Images.Media.DATA)的游标

暂无
暂无

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

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