Convierta java.net.URI a android.net.Uri

Soy capaz de encontrar cómo convertir android.net.Uri a Java.net.URI aquí, pero no viceversa.

Así que después de pasar algún tiempo me di cuenta. Aquí está la solución (si hay otra solución, por favor, publica también)

Primero convierta javaURI a cadena y luego use la función de análisis de android.net.Uri

android.net.URI androidUri = android.net.Uri.parse(javaURI.toString()); 

http://developer.android.com/reference/android/net/Uri.html#parse(java.lang.String)

 public static Uri parse (String uriString) 

Crea un Uri que analiza la cadena URI codificada dada.

Parámetros
UriString: un RFC 2396-codificado URI codificado

Devoluciones
Uri para esta cadena de uri dada

Lanza
NullPointerException si uriString es null


Por lo tanto, aquí está un ejemplo:

 android.net.Uri.parse(new java.net.URI("").toString()); 

Va sin decir, utilizar el java.net.URI real en el mismo … 😉

Para cualquier persona que viene a través de esto, tuve éxito con el código siguiente:

 URI oldUri; Uri newUri = new Uri.Builder().scheme(oldUri.getScheme()) .encodedAuthority(oldUri.getRawAuthority()) .encodedPath(oldUri.getRawPath()) .query(oldUri.getRawQuery()) .fragment(oldUri.getRawFragment()) .build(); 

Básicamente, obtener cada componente URI y pasarlo al constructor (ya que no parece ser una forma de pasar en una cadena URI completa.

  • Obtener el camino real de URI de archivo en sdcard marshmallow
  • Uso de una URL web para SUGGEST_COLUMN_ICON_1 para sugerencias de búsqueda
  • Android 2.2 MediaPlayer está funcionando bien con una URL de SHOUTcast, pero no con la otra
  • Cómo obtener la ruta del archivo de la imagen de URI en Android Lollipop?
  • Android data.getData () devuelve null de CameraActivity para algunos teléfonos
  • Problemas de Uri
  • Agregar calendario y eventos en Android 2.2
  • ContentObserver en el contenido: // sms / in 1.6+?
  • ¿Por qué ImageView.setImageURI () funcionaría en Android 2.2 pero no en 2.1?
  • Android: howto parse URL String con espacios al objeto URI?
  • Cuál es la diferencia entre Java.Net.Uri y Android.Net.Uri
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.