我想从Samsung Galaxy S5的Chooser Intent中获取文件扩展名。
第一个返回一个空字符串,第二个也返回一个空字符串。
我从选择器意图中获得的uri是
content://com.android.providers.downloads.documents/document/12537
string test = MimeTypeMap.GetFileExtensionFromUrl(uri.ToString()); // empty
string fName = uri.LastPathSegment.Split(new char[] { '\\', ':', '/' }).Last(); // Empty aswell
答案 0 :(得分:1)
尝试一下:
Uri yourUrl; //your uri
ContentResolver contentResolver = getContext().getContentResolver();
String mimeType = contentResolver.getType(yourUrl);
MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType);
答案 1 :(得分:0)
注意:此答案解决了部分问题。有关完整解决方案(以库的形式),请查看Paul Burke的答案。 Get real path from URI, Android KitKat new storage access framework