Java 类android.provider.OpenableColumns 实例源码

项目:lottie_for_designer    文件:MainActivity.java   
private 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;
}
项目: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();
        }
    }
}
项目:MyFire    文件:FileUtil.java   
/**
 * 根据uri获取文件路径
 * @param context
 * @param 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;
}
项目:airgram    文件:MediaController.java   
public static String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = null;
        try {
            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("tmessages", e);
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
项目:syncplayer    文件:videoPlayer.java   
protected 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;
}
项目: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;
}
项目: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;
}
项目:SimpleMarkdown    文件:MarkdownPresenterImpl.java   
@Override
public void loadFromUri(Context context, Uri fileUri) {
    try {
        InputStream in =
                context.getContentResolver().openInputStream(fileUri);
        if (fileUri.getScheme().equals("content")) {
            Cursor retCur = context.getContentResolver()
                    .query(fileUri, null, null, null, null);
            if (retCur != null) {
                int nameIndex = retCur
                        .getColumnIndex(OpenableColumns.DISPLAY_NAME);
                retCur.moveToFirst();
                setFileName(retCur.getString(nameIndex));
            }
        } else if (fileUri.getScheme().equals("file")) {
            setFileName(fileUri.getLastPathSegment());
        }
        loadMarkdown(in);
    } catch (Exception e) {
        if (editView != null)
            editView.showFileLoadeddError(MarkdownFile.READ_ERROR);
    }
}
项目:gexporter    文件:MainActivity.java   
public String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = mCR.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.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
项目:encdroidMC    文件:EDVolumeListActivity.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;
}
项目:PlusGram    文件:MediaController.java   
public static String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = null;
        try {
            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("tmessages", e);
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
    if (result == null) {
        result = uri.getPath();
        int cut = result.lastIndexOf('/');
        if (cut != -1) {
            result = result.substring(cut + 1);
        }
    }
    return result;
}
项目:shareNote    文件: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;
}
项目: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 e) {
        e.printStackTrace();
    }
    return null;
}
项目: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));
}
项目:Customerly-Android-SDK    文件:IU_Utils.java   
static String getNameFromUri(@NonNull Context context, @NonNull Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        if(cursor != null) {
            //noinspection TryFinallyCanBeTryWithResources
            try {
                if (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;
}
项目:wifon-mini    文件:NearbyListFragment.java   
private long getFileSize(Uri uri) {
    long size = -1;

    Cursor cursor = getContext().getContentResolver().query(uri, null, null, null, null);
    if (cursor != null) {
        try {
            int rowsCount = cursor.getCount();
            if (rowsCount > 0 && cursor.moveToFirst()) {
                int nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
                int sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE);

                return cursor.getLong(sizeIndex);
            }
        } finally {
            cursor.close();
        }
    }

    return size;
}
项目:AudioBookPlayer    文件:Util.java   
public static String getFilename(Uri uri, Context context) { 
    String fileName = null;
    String scheme = uri.getScheme();
    if (scheme.equals("file")) {
        fileName = uri.getLastPathSegment();
    }
    else if (scheme.equals("content")) {
        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        try {
          if (cursor != null && cursor.moveToFirst()) {
              fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
          }
        } finally {
          cursor.close();
        }           
    }
    return fileName;
}
项目:Applozic-Android-Chat-Sample    文件: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;
    }
项目:Applozic-Android-Chat-Sample    文件: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;
    }
项目:loyalty-card-locker    文件:ImportExportActivity.java   
private String fileNameFromUri(Uri uri)
{
    if("file".equals(uri.getScheme()))
    {
        return uri.getPath();
    }

    Cursor returnCursor =
            getContentResolver().query(uri, null, null, null, null);
    if(returnCursor == null)
    {
        return null;
    }

    int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
    if(returnCursor.moveToFirst() == false)
    {
        returnCursor.close();
        return null;
    }

    String name = returnCursor.getString(nameIndex);
    returnCursor.close();

    return name;
}
项目:SKShare    文件: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;
}
项目:odoo-follow-up    文件:DocumentManager.java   
private ListRow getDataFromUri(Uri uri) {
    ListRow fileData = new ListRow();
    if (uri.getScheme().equalsIgnoreCase("content")) {
        // URI Content
        ListRow uriData = getData(uri, null, null);
        if (uriData != null && uriData.containsKey("mime_type")) {
            fileData.put("content_uri", uri.toString());
            fileData.put("datas_fname", uriData.getString(OpenableColumns.DISPLAY_NAME));
            fileData.put("name", fileData.getString("datas_fname"));
            fileData.put("file_size", uriData.getLong(OpenableColumns.SIZE));
            fileData.put("file_path", getPath(uri));
            fileData.put("datas", getBase64Data(fileData.getString("file_path")));
        }
    } else if (uri.getScheme().equals("file")) {

    }
    return fileData;
}
项目: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;
}
项目:Bala-PdfViewer-with-Voice    文件: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;
}
项目:PaintPlusPlus    文件:UriMetadata.java   
private void readMetadata(Cursor cursor)
{
    if(cursor == null || !cursor.moveToFirst()) return;
    try
    {
        displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));

        int columnSize = cursor.getColumnIndex(OpenableColumns.SIZE);
        if(cursor.isNull(columnSize)) size = context.getString(R.string.unknown);
        else size = cursor.getString(columnSize);
    }
    finally
    {
        cursor.close();
    }
}
项目:qiscus-sdk-android    文件:QiscusFileUtil.java   
public static String getFileName(Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = Qiscus.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;
}
项目:budget-watch    文件:ImportExportActivity.java   
private String fileNameFromUri(Uri uri)
{
    if("file".equals(uri.getScheme()))
    {
        return uri.getPath();
    }

    Cursor returnCursor =
            getContentResolver().query(uri, null, null, null, null);
    if(returnCursor == null)
    {
        return null;
    }

    int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
    if(returnCursor.moveToFirst() == false)
    {
        returnCursor.close();
        return null;
    }

    String name = returnCursor.getString(nameIndex);
    returnCursor.close();

    return name;
}
项目: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;
}
项目: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;
}
项目:android-video-compression    文件:MainActivity.java   
private String[] extractInfoUri(Uri uri){
  String[] data = new String[2];

  Cursor returnCursor = getContentResolver().query(uri, null, null, null, null);
  if(returnCursor!=null) {
  /*
   * Get the column indexes of the data in the Cursor,
   * move to the first row in the Cursor, get the data,
   * and display it.
   */
    int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
    int sizeIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE);
    returnCursor.moveToFirst();

    data[0] = returnCursor.getString(nameIndex);
    data[1] = Long.toString(returnCursor.getLong(sizeIndex) / K);
  }
  return data;
}
项目:colorchief    文件:MainActivity.java   
private String getUriFileName (Uri uri)
{
    String uriString = uri.toString();
    File file = new File(uriString);
    String path = file.getAbsolutePath();
    String displayName = null;

    if (uriString.startsWith("content://")) {
        Cursor cursor = null;
        try {
            cursor = getContentResolver().query(uri, null, null, null, null);
            if (cursor != null && cursor.moveToFirst()) {
                displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
            }
        } finally {
            cursor.close();
        }
    } else if (uriString.startsWith("file://")) {
        displayName = file.getName();
    }
    return displayName;
}
项目:Customerly-Android-SDK    文件:IU_Utils.java   
static String getNameFromUri(@NonNull Context context, @NonNull Uri uri) {
    String result = null;
    if (uri.getScheme().equals("content")) {
        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        if(cursor != null) {
            //noinspection TryFinallyCanBeTryWithResources
            try {
                if (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;
}
项目:Ydkd    文件:FileUtil.java   
/**
 * 根据uri获取文件路径
 * @param context
 * @param 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;
}
项目:wakemeapp    文件:IOUtils.java   
/**
 * This method gets the filename from a URI
 *
 * @param context
 *         App context
 * @param uri
 *         target URI
 *
 * @return Filename if it can be retrieved, otherwise returns null
 */
public static String getFileName(Context context, Uri uri) {
  String result = null;
  if (uri.getScheme().equals(CONTENT_SCHEME)) {
    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;
}
项目:Android-Support-Preference-V7-Fix    文件:RingtonePreferenceDialogFragmentCompat.java   
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();
}
项目:susurrus-android-app    文件:Uploads.java   
/**
 * Extracts a file-name from a given URI.
 *
 * @param _path File-URI.
 * @return File-String or null.
 */
public static String getFileName(ContentResolver _resolver, Uri _path) {

    Cursor cursor = _resolver.query(_path, null, null, null, null);
    String fileName = null;
    try {

        if(cursor != null && cursor.moveToFirst()) {
            fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
        }

    } finally {
        cursor.close();
    }

    return fileName;
}
项目:reader    文件:PdfViewerActivity.java   
private String getTitleFromUri(Uri uri) {
    try {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);

        int nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
        cursor.moveToFirst();
        return cursor.getString(nameIndex);
    } catch (Exception e) {
        handleException(e);

        if (uri != null) {
            return uri.getLastPathSegment();
        }
    }

    return null;
}
项目:mobile-android-studio    文件:ExoDocumentUtils.java   
/**
 * Gets a DocumentInfo with info coming from the document at the given URI.
 * 
 * @param contentUri the content URI of the document (content:// ...)
 * @param context
 * @return a DocumentInfo or null if an error occurs
 */
public static DocumentInfo documentFromContentUri(Uri contentUri, Context context) {
  if (contentUri == null)
    return null;

  try {
    ContentResolver cr = context.getContentResolver();
    Cursor c = cr.query(contentUri, null, null, null, null);
    int sizeIndex = c.getColumnIndex(OpenableColumns.SIZE);
    int nameIndex = c.getColumnIndex(OpenableColumns.DISPLAY_NAME);
    c.moveToFirst();

    DocumentInfo document = new DocumentInfo();
    document.documentName = c.getString(nameIndex);
    document.documentSizeKb = c.getLong(sizeIndex) / 1024;
    document.documentData = cr.openInputStream(contentUri);
    document.documentMimeType = cr.getType(contentUri);
    return document;
  } catch (Exception e) {
  }
  return null;
}
项目:musicall    文件:MainActivity.java   
public void sendFile(Uri uri, DataOutputStream os) throws IOException {
    Cursor cursor = getContentResolver().query(uri, null, null, null, null, null);
    int sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE);
    cursor.moveToFirst();
    long fileSize = cursor.getLong(sizeIndex);
    if (fileSize > Integer.MAX_VALUE) {
        throw new IOException("file too large");
    }
    Log.i(TAG, "sending file...");
    os.writeInt((int) fileSize);
    try (BufferedInputStream bs = new BufferedInputStream(getContentResolver().openInputStream(uri))){
        final int bufferSize = 2048;
        byte[] buffer = new byte[bufferSize];

        int len;
        while ((len = bs.read(buffer)) != -1) {
            os.write(buffer, 0, len);
        }
        os.flush();
    }
    Log.i(TAG, "done sending file");
}
项目: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);
}