Obtener ruta de Uri desde la aplicación Google Photos

Tengo una aplicación que permite seleccionar fotos con una aplicación externa. Luego tomo el camino de la foto desde el uri y lo uso para acciones internas.

Cuando el usuario selecciona una foto con Google Photo, si la imagen se almacena localmente, el siguiente código funciona perfectamente. Pero si la imagen está en la nube, el resultado decursor.getString (índice) es nulo.

He buscado alguna información, pero no estoy seguro de la solución.

final String[] projection = { "_data" };
Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);

if (cursor != null && cursor.moveToFirst()) {
    final int index = cursor.getColumnIndexOrThrow("_data");
    return cursor.getString(index);
}

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta