类android.provider.OpenableColumns源码实例Demo

下面列出了怎么用android.provider.OpenableColumns的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Telegram-FOSS   文件: MediaController.java
public static String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        try (Cursor cursor = ApplicationLoader.applicationContext.getContentResolver().query(uri, new String[]{OpenableColumns.DISPLAY_NAME}, null, null, null)) {
            if (cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } catch (Exception e) {
            FileLog.e(e);
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码2 项目: mollyim-android   文件: MediaRepository.java
private Media getContentResolverPopulatedMedia(@NonNull Context context, @NonNull Media media) throws IOException {
  int  width  = media.getWidth();
  int  height = media.getHeight();
  long size   = media.getSize();

  if (size <= 0) {
    try (Cursor cursor = context.getContentResolver().query(media.getUri(), null, null, null, null)) {
      if (cursor != null && cursor.moveToFirst() && cursor.getColumnIndex(OpenableColumns.SIZE) >= 0) {
        size = cursor.getLong(cursor.getColumnIndexOrThrow(OpenableColumns.SIZE));
      }
    }
  }

  if (size <= 0) {
    size = MediaUtil.getMediaSize(context, media.getUri());
  }

  if (width == 0 || height == 0) {
    Pair<Integer, Integer> dimens = MediaUtil.getDimensions(context, media.getMimeType(), media.getUri());
    width  = dimens.first;
    height = dimens.second;
  }

  return new Media(media.getUri(), media.getMimeType(), media.getDate(), width, height, size, 0, media.getBucketId(), media.getCaption(), Optional.absent());
}
 
源代码3 项目: PDFCreatorAndroid   文件: FileManager.java
public String getFileName(Context context, Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            cursor.close();
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码4 项目: Field-Book   文件: FieldEditorActivity.java
public String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            cursor.close();
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
private String getFilenameFromUri(@NonNull Context context, @Nullable Uri uri) {
    String result = null;

    // Based on: https://stackoverflow.com/questions/5568874/how-to-extract-the-file-name-from-uri-returned-from-intent-action-get-content
    if (uri != null) {
        String scheme = uri.getScheme();
        if (scheme != null && scheme.equals("content")) {
            try (Cursor cursor = context.getContentResolver().query(uri, null, null, null, null)) {
                if (cursor != null && cursor.moveToFirst()) {
                    result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
                }
            }
        }
        if (result == null) {
            result = uri.getPath();
            if (result != null) {
                int cut = result.lastIndexOf('/');
                if (cut != -1) {
                    result = result.substring(cut + 1);
                }
            }
        }
    }

    return result;
}
 
源代码6 项目: indigenous-android   文件: Utility.java
/**
 * Get a filename.
 *
 * @param u
 *   The uri
 * @param context
 *   The current context
 *
 * @return string
 */
public static String getFilename(Uri u, Context context) {
    String filename = "";

    try {
        Cursor returnCursor = context.getContentResolver().query(u, null, null, null, null);
        if (returnCursor != null) {
            int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
            returnCursor.moveToFirst();
            filename = returnCursor.getString(nameIndex);
            returnCursor.close();
        }
    }
    catch (NullPointerException ignored) {}

    return filename;
}
 
源代码7 项目: NXLoader   文件: Utils.java
public static String getFileName(Context ctx, Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = ctx.getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            cursor.close();
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码8 项目: FileTransfer   文件: FileUtils.java
public static String getFileName(Context context, Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        try (Cursor cursor = context.getContentResolver().query(uri, null, null, null, null)) {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码9 项目: kognitivo   文件: Utility.java
public static long getContentSize(final Uri contentUri) {
    Cursor cursor = null;
    try {
        cursor = FacebookSdk
                .getApplicationContext()
                .getContentResolver()
                .query(contentUri, null, null, null, null);
        int sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE);

        cursor.moveToFirst();
        return cursor.getLong(sizeIndex);
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
}
 
源代码10 项目: edslite   文件: ContentResolverFs.java
public static String getFileNameFromCursor(Cursor cursor)
{
	if (cursor.moveToFirst())
	{
		int columnIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
		if(columnIndex >= 0)
			return cursor.getString(columnIndex);
		else
		{
			columnIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATA);//Instead of "_data"
			if (columnIndex >= 0)
			{
				Uri filePathUri = Uri.parse(cursor.getString(columnIndex));
				return filePathUri.getLastPathSegment();
			}
		}
	}
	return null;
}
 
public String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            cursor.close();
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码12 项目: JD-Test   文件: FileUtil.java
static String getFileName(Context context, Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf(File.separator);
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码13 项目: Matisse   文件: FileUtil.java
/**
 * 获取文件名称
 * @param context   上下文
 * @param uri       uri
 * @return          文件名称
 */
static String getFileName(Context context, Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf(File.separator);
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码14 项目: AndroidPdfViewerV2   文件: PDFViewActivity.java
public String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getLastPathSegment();
    }
    return result;
}
 
源代码15 项目: SSLSocks   文件: KeyEditActivity.java
private String getFileName(Uri uri) {
	String result = null;
	if ("content".equals(uri.getScheme())) {
		try (Cursor cursor = getContentResolver().query(uri, null, null, null, null)) {
			if (cursor != null && cursor.moveToFirst()) {
				result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
			}
		}
	}
	if (result == null) {
		result = Objects.requireNonNull(uri.getPath());
		int cut = result.lastIndexOf('/');
		if (cut != -1) {
			result = result.substring(cut + 1);
		}
	}
	return result;
}
 
源代码16 项目: cloudinary_android   文件: LocalUriPayload.java
private long fetchFileSizeFromUri(Context context) {
    Cursor returnCursor = null;
    long size = 0;

    try {
        returnCursor = context.getContentResolver().query(data, PROJECTION, null, null, null);
        if (returnCursor != null && returnCursor.moveToNext()) {
            int sizeIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE);
            size = returnCursor.getLong(sizeIndex);
        }
    } finally {
        if (returnCursor != null) {
            returnCursor.close();
        }
    }

    return size;
}
 
源代码17 项目: Field-Book   文件: TraitEditorActivity.java
public String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            cursor.close();
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码18 项目: Camera-Roll-Android-App   文件: InfoUtil.java
public static String retrieveFileName(Context context, Uri uri) {
    //retrieve file name
    try {
        Cursor cursor = context.getContentResolver().query(uri,
                new String[]{OpenableColumns.DISPLAY_NAME},
                null, null, null);
        if (cursor != null) {
            int nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
            cursor.moveToFirst();
            if (!cursor.isAfterLast()) {
                String filename = cursor.getString(nameIndex);
                cursor.close();
                return filename;
            }
        }
    } catch (SecurityException ignored) {
    }
    return null;
}
 
源代码19 项目: Camera-Roll-Android-App   文件: InfoUtil.java
public static InfoItem retrieveFileSize(Context context, Uri uri) {
    //retrieve fileSize form MediaStore
    Cursor cursor = context.getContentResolver().query(
            uri, null, null,
            null, null);
    long size = 0;
    if (cursor != null && !cursor.isAfterLast()) {
        int sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE);
        cursor.moveToFirst();
        if (!cursor.isAfterLast()) {
            size = cursor.getLong(sizeIndex);
            cursor.close();
        }
    }
    return new InfoItem(context.getString(R.string.info_size), Parser.parseFileSize(context, size));
}
 
源代码20 项目: OsmGo   文件: FileUtils.java
private static String getCopyFilePath(Uri uri, Context context) {
  Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
  int nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
  cursor.moveToFirst();
  String name = (cursor.getString(nameIndex));
  File file = new File(context.getFilesDir(), name);
  try {
    InputStream inputStream = context.getContentResolver().openInputStream(uri);
    FileOutputStream outputStream = new FileOutputStream(file);
    int read = 0;
    int maxBufferSize = 1024 * 1024;
    int bufferSize = Math.min(inputStream.available(), maxBufferSize);
    final byte[] buffers = new byte[bufferSize];
    while ((read = inputStream.read(buffers)) != -1) {
      outputStream.write(buffers, 0, read);
    }
    inputStream.close();
    outputStream.close();
  } catch (Exception e) {
    return null;
  } finally {
    if (cursor != null)
      cursor.close();
  }
  return file.getPath();
}
 
源代码21 项目: Telegram   文件: MediaController.java
public static String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        try (Cursor cursor = ApplicationLoader.applicationContext.getContentResolver().query(uri, new String[]{OpenableColumns.DISPLAY_NAME}, null, null, null)) {
            if (cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } catch (Exception e) {
            FileLog.e(e);
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码22 项目: HaiNaBaiChuan   文件: FileUtil.java
static String getFileName(Context context, Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf(File.separator);
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码23 项目: qiscus-sdk-android   文件: QiscusFileUtil.java
public static String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = QiscusCore.getApps().getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf(File.separator);
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
 
源代码24 项目: AndroidPdfViewerV1   文件: PDFViewActivity.java
public String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getLastPathSegment();
    }
    return result;
}
 
源代码25 项目: AndroidPdfViewer   文件: PDFViewActivity.java
public String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        try {
            if (cursor != null && cursor.moveToFirst()) {
                result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getLastPathSegment();
    }
    return result;
}
 
private static String getFileDisplayNameFromUri(Context context, Uri uri) {
  String scheme = uri.getScheme();

  if (ContentResolver.SCHEME_FILE.equals(scheme)) {
    return uri.getLastPathSegment();
  } else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {

    String[] projection = {OpenableColumns.DISPLAY_NAME};

    Cursor cursor = null;
    try {
      cursor = context.getContentResolver().query(uri, projection, null, null, null);
      if (cursor != null && cursor.moveToFirst()) {
        return cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
      }
    } finally {
      if (cursor != null) {
        cursor.close();
      }
    }
  }

  // This will only happen if the Uri isn't either SCHEME_CONTENT or SCHEME_FILE, so we assume
  // it already represents the file's name.
  return uri.toString();
}
 
源代码27 项目: Jockey   文件: UriUtils.java
public static String getDisplayName(Context context, Uri uri) {
    Cursor cursor = null;

    try {
        cursor = context.getContentResolver().query(uri, NAME_PROJECTION, null, null, null);

        if (cursor != null && cursor.moveToFirst()) {
            int nameColumn = cursor.getColumnIndexOrThrow(OpenableColumns.DISPLAY_NAME);
            String name = cursor.getString(nameColumn);

            if (name.trim().isEmpty()) {
                return getFileName(uri);
            } else {
                return name;
            }
        }
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }

    return getFileName(uri);
}
 
源代码28 项目: Applozic-Android-SDK   文件: FileUtils.java
public static String getSize(Context context, Uri uri) {

        String sizeInMB = null;
        Cursor returnCursor =
                context.getContentResolver().query(uri, null, null, null, null);

        if (returnCursor != null && returnCursor.moveToFirst()) {

            int columnIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE);
            Long fileSize = returnCursor.getLong(columnIndex);
            if (fileSize < 1024) {
                sizeInMB = (int) (fileSize / (1024 * 1024)) + " B";

            } else if (fileSize < 1024 * 1024) {
                sizeInMB = (int) (fileSize / (1024)) + " KB";
            } else {
                sizeInMB = (int) (fileSize / (1024 * 1024)) + " MB";
            }
        }

        return sizeInMB;
    }
 
源代码29 项目: linphone-android   文件: FileUtils.java
private static String getNameFromUri(Uri uri, Context context) {
    String name = null;
    if (uri != null) {
        if (uri.getScheme().equals("content")) {
            Cursor returnCursor =
                    context.getContentResolver().query(uri, null, null, null, null);
            if (returnCursor != null) {
                returnCursor.moveToFirst();
                int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
                name = returnCursor.getString(nameIndex);
                returnCursor.close();
            }
        } else if (uri.getScheme().equals("file")) {
            name = uri.getLastPathSegment();
        }
    }
    return name;
}
 
源代码30 项目: 4pdaClient-plus   文件: FilePath.java
public static String getFileName(@NonNull Context context, Uri uri) {
    String mimeType = context.getContentResolver().getType(uri);
    String filename = null;

    if (mimeType == null && context != null) {
        String path = getPath(context, uri);
        if (path == null) {
            filename = getName(uri.toString());
        } else {
            File file = new File(path);
            filename = file.getName();
        }
    } else {
        Cursor returnCursor = context.getContentResolver().query(uri, null,
                null, null, null);
        if (returnCursor != null) {
            int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
            returnCursor.moveToFirst();
            filename = returnCursor.getString(nameIndex);
            returnCursor.close();
        }
    }

    return filename;
}
 
 类所在包
 类方法
 同包方法