PDA

View Full Version : تبدیل مسیر uri به real Path ( فایل pdf )



soroushp
شنبه 05 دی 1394, 17:30 عصر
سلام
می خوام مسیر فایلی رو که از intent گرفتم رو به مسیر واقعی که در گوشی اون فایل هست بگیرم - مسیری که از intent می گیرم به شکل زیر هست :

content://com.android.externalstorage.documents/document/9016-4EF8%3AWeb%2FAI01-IntelligentAgents1.pdf

کد زیر برای تبدیل این مسیر پیدا کردم اما فقط اسم و پسوند فایل مورد نظرم رو میده نه کل مسیر رو !

private String getFilePath(Uri uri) {
String selectionMimeType = MediaStore.Files.FileColumns.MIME_TYPE + "=?";
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtensio n("pdf");
String[] selectionArgsPdf = new String[]{mimeType};
Cursor cursor = getContentResolver().query(uri, null, selectionMimeType, selectionArgsPdf, null);
String document="";
if (cursor.moveToFirst()) {
document = cursor.getString(cursor.getColumnIndex(OpenableCol umns.DISPLAY_NAME));
}
cursor.close();
return document;
}

slr560
یک شنبه 06 دی 1394, 11:51 صبح
سلام
می خوام مسیر فایلی رو که از intent گرفتم رو به مسیر واقعی که در گوشی اون فایل هست بگیرم - مسیری که از intent می گیرم به شکل زیر هست :

content://com.android.externalstorage.documents/document/9016-4EF8%3AWeb%2FAI01-IntelligentAgents1.pdf

کد زیر برای تبدیل این مسیر پیدا کردم اما فقط اسم و پسوند فایل مورد نظرم رو میده نه کل مسیر رو !

private String getFilePath(Uri uri) {
String selectionMimeType = MediaStore.Files.FileColumns.MIME_TYPE + "=?";
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtensio n("pdf");
String[] selectionArgsPdf = new String[]{mimeType};
Cursor cursor = getContentResolver().query(uri, null, selectionMimeType, selectionArgsPdf, null);
String document="";
if (cursor.moveToFirst()) {
document = cursor.getString(cursor.getColumnIndex(OpenableCol umns.DISPLAY_NAME));
}
cursor.close();
return document;
}

public String getRealPathFromURI(Context context, Uri contentUri) { Cursor cursor = null;
try {
String[] proj = { MediaStore.Images.Media.DATA };
cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Med ia.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} finally {
if (cursor != null) {
cursor.close();
}
}
}

soroushp
یک شنبه 06 دی 1394, 13:30 عصر
این کد برای انتخاب عکس هست
حتی اگر عکس رو هم انتخاب کنم null بر می گردونه
می خوام pdf انتخاب کنم