1. 程式人生 > >Android獲取本地檔案的真實路徑,content型別轉為file型別

Android獲取本地檔案的真實路徑,content型別轉為file型別

來源網路。記錄知識點以防備用.....

相容不同的機型獲取到的檔案路徑型別,以防異常情況發生。

public static String getPath(Context context, Uri uri) {
    if ("content".equalsIgnoreCase(uri.getScheme())) {
        String[] projection = {"_data"};
        Cursor cursor = null;
        try {
            cursor = context.getContentResolver().query(uri, projection, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow("_data");
            if (cursor.moveToFirst()) {
                return cursor.getString(column_index);
            }
        } catch (Exception e) {
        }
    } else if ("file".equalsIgnoreCase(uri.getScheme())) {
        return uri.getPath();
    }
    return null;
}