【发布时间】:2018-03-17 06:32:29
【问题描述】:
我在使用文件选择器从谷歌驱动器中提取文档时遇到问题,但是当我选择它并为我带来 URI 时,我可以获得名称,但是当我创建文件时为空。
-
获取数据列:
public static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
Cursor cursor = null; final String column = "_data"; final String[] projection = { column }; try { cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null); if (cursor != null && cursor.moveToFirst()) { DatabaseUtils.dumpCursor(cursor); final int column_index = cursor.getColumnIndexOrThrow(column); return cursor.getString(column_index); } } finally { if (cursor != null) cursor.close(); } return null;}
2.获取路径的代码:
else if ("content".equalsIgnoreCase(uri.getScheme())) {
if (isGooglePhotosUri(uri) || isGoogleDriveUri(uri))
return uri.getLastPathSegment();
return getDataColumn(context, uri, null, null); }
3.检查文件大小:
(new File(PathUtil.getPath( getActivity(), uri)).length() == 0){
//alert
}
【问题讨论】:
-
请提供minimal reproducible example 并详细解释“我可以获取名称,但创建文件时为空”的含义。
-
谢谢,问题已编辑。