Null在查询图像绝对路径的内容解析器时返回

时间:2016-01-24 17:57:26

标签: android android-contentprovider

我正在开发Android应用程序,在那里我从画廊中取出照片。在onActivityResult()方法中,我有以下代码:

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, intent);
    if(requestCode==PICK_PHOTO && resultCode==RESULT_OK){

        this.picUri=intent.getData();

        String[] proj = { MediaStore.Images.Media.DATA };
        Cursor cursor = this.getApplicationContext().
                getContentResolver().query(this.picUri,  proj, null, null, null);
        int column_index =  cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        String path=cursor.getString(column_index);
        cursor.close(); 

    }

但是从游标返回的路径始终为null。可能的原因是什么?

1 个答案:

答案 0 :(得分:0)

我不知道uri的价值是什么,而你正在this.picUri检索意图结果,所以你必须使用那个

query中将uri更改为this.picUri

像,

this.picUri=intent.getData();

String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = this.getApplicationContext().
                getContentResolver().query(this.picUri,  proj, null, null, null);