Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
Cómo resolver Uri y Path extraños e incompletos recibidos al compartir directamente una imagen desde la galería de Android a mi aplicación flutter

He escrito una funcionalidad en Kotlin para que la aplicación flutter comparta archivos multimedia directamente desde la galería del teléfono Android a la aplicación.

Funciona bien para muchos dispositivos que he probado como Realme 3 Pro, Oneplus 6t, Samsung m40.

Pero, para Asus Zenfone Max Pro M2 al compartir cualquier archivo multimedia recibió URI y path extraños e incompletos

Registros del código Kotlin

D/URI =====(26032): contenido://com.android.providers.downloads.documents/document/624

D/Ruta =====(26032): /documento/624

Código Kotlin

 override fun onAttachedToActivity(binding: ActivityPluginBinding) { this.binding = binding binding.addOnNewIntentListener(this) handleIntent(binding.activity.intent, true) } ---------------------------------------------------------------------- private fun handleIntent(intent: Intent, initial: Boolean) { when { (intent.type?.startsWith("text") != true) && (intent.action == Intent.ACTION_SEND || intent.action == Intent.ACTION_SEND_MULTIPLE) -> { // Sharing images or videos val value = getMediaUris(intent) if (initial) initialMedia = value latestMedia = value eventSinkMedia?.success(latestMedia?.toString()) } ... ---------------------------------------------------------------------- private fun getMediaUris(intent: Intent?): JSONArray? { if (intent == null) return null return when (intent.action) { Intent.ACTION_SEND -> { val uri = intent.getParcelableExtra<Uri>(Intent.EXTRA_STREAM) Log.d("URI =====",uri) val path = uri?.let{ FileDirectory.getPathFromUri(applicationContext, it) } ?: uri?.path Log.d("Path =====",path) if (path != null) { ...

Información del dispositivo

 Device Name: Asus Zenfone Max Pro M2 Android Version: 9 External SD card: present

¿Cómo resolver este URI y obtener una ruta adecuada con nombre de archivo y extensión?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar el complemento uri_to_file para obtener la ruta desde content://uri . Para usar, simplemente analice el uri y use toFile(uri)

 import 'package:uri_to_file/uri_to_file.dart'; try { String uriPath = 'content://com.android.providers.downloads.documents/document/624'; Uri uri = Uri.parse(uriPath); File file = await toFile(uri); } catch (e) { debugPrint(e); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda