How to extract the file name from URI returned from Intent.ACTION_GET_CONTENT?

后端 未结 17 2085
梦如初夏
梦如初夏 2020-11-28 05:09

I am using 3rd party file manager to pick a file (PDF in my case) from the file system.

This is how I launch the activity:

Intent i         


        
17条回答
  •  南笙
    南笙 (楼主)
    2020-11-28 05:53

    This actually worked for me:

    private String uri2filename() {
    
        String ret;
        String scheme = uri.getScheme();
    
        if (scheme.equals("file")) {
            ret = uri.getLastPathSegment();
        }
        else if (scheme.equals("content")) {
            Cursor cursor = getContentResolver().query(uri, null, null, null, null);
            if (cursor != null && cursor.moveToFirst()) {
                ret = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
       }
       return ret;
    }
    

提交回复
热议问题