Este es mi código para reproducir el archivo 3gp de audio grabado
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse(path);
intent.setDataAndType(data, "audio/mp3");
startActivity(intent);
Pero mientras lo ejecuto en mi dispositivo HTC (Android 2.2 Froyo) muestra una excepción:
05-04 16:37:37.597: WARN/System.err(4065): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=/mnt/sdcard/mnt/sdcard/audio-android.3gp typ=audio/mp3 }
05-04 16:37:37.597: WARN/System.err(4065): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1567)
05-04 16:37:37.597: INFO/ActivityManager(92): Starting activity: Intent { act=android.intent.action.VIEW dat=/mnt/sdcard/mnt/sdcard/audio-android.3gp typ=audio/mp3 }
05-04 16:37:37.607: WARN/System.err(4065): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1537)
05-04 16:37:37.607: WARN/System.err(4065): at android.app.Activity.startActivityForResult(Activity.java:2858)
05-04 16:37:37.607: WARN/System.err(4065): at android.app.Activity.startActivity(Activity.java:2964)
05-04 16:37:37.607: WARN/System.err(4065): at com.ey.camera.AudioRecorder.playAudio(AudioRecorder.java:244)
05-04 16:37:37.607: WARN/System.err(4065): at com.ey.camera.AudioRecorder$4.onClick(AudioRecorder.java:225)
05-04 16:37:37.607: WARN/System.err(4065): at android.view.View.performClick(View.java:2408)
05-04 16:37:37.607: WARN/System.err(4065): at android.view.View$PerformClick.run(View.java:8817)
05-04 16:37:37.607: WARN/System.err(4065): at android.os.Handler.handleCallback(Handler.java:587)
05-04 16:37:37.607: WARN/System.err(4065): at android.os.Handler.dispatchMessage(Handler.java:92)
05-04 16:37:37.607: WARN/System.err(4065): at android.os.Looper.loop(Looper.java:144)
05-04 16:37:37.607: WARN/System.err(4065): at android.app.ActivityThread.main(ActivityThread.java:4937)
05-04 16:37:37.607: WARN/System.err(4065): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 16:37:37.607: WARN/System.err(4065): at java.lang.reflect.Method.invoke(Method.java:521)
05-04 16:37:37.607: WARN/System.err(4065): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-04 16:37:37.607: WARN/System.err(4065): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-04 16:37:37.607: WARN/System.err(4065): at dalvik.system.NativeStart.main(Native Method)
En la tableta Galaxy está funcionando bien. ¿Cómo puedo resolver este problema?
android
android-2.2-froyo
galaxy-tab
Jennifer
fuente
fuente
Respuestas:
Las direcciones URL deben ir precedidas de http: //
arroja una ActivityNotFoundException. Si antepone "http: //", problema resuelto.
Puede que no ayude a OP, pero terminé aquí buscando la misma excepción y tal vez ayude a otros.
fuente
file://
faltaba en mi caso hasta que me cambiéUri.parse()
aUri.fromFile()
.Uri.parse(Uri.decode(encodedString))
Si también recibe este error al intentar abrir una página web desde su aplicación de Android, es porque su URL se ve así:
www.google.com
en lugar de:
https://www.google.com
ohttp://www.google.com
agregue este código a su Actividad / Fragmento:
simplemente pase su URL a
openWebPage()
. Si ya tiene el prefijohttps://
ohttp://
entonces está listo para comenzar, de lo contrario, la declaración if lo maneja por ustedfuente
Esta es la forma correcta de hacerlo.
necesitas importar import android.webkit.MimeTypeMap;
fuente
Para mí cuando intento abrir un enlace:
Tengo el mismo error
android.content.ActivityNotFoundException: No Activity found to handle Intent
* Lección: asegúrese de que haya al menos una aplicación que maneje la intención que está llamando *
fuente
La respuesta de Maragues me hizo comprobar la salida de logcat. Parece que la ruta que pasa a Uri debe tener el prefijo
file:/
Dado que es una ruta local a su almacenamiento.
Es posible que también desee mirar el camino en sí.
El punto de montaje parece aparecer dos veces en la ruta completa.
fuente
Si no pasa la URL web correcta y no tiene un navegador, se produce ActivityNotFoundException, así que verifique esos requisitos o maneje la excepción explícitamente. Eso puede resolver tu problema.
fuente
Compruebe este método útil:
URLUtil.guessUrl(urlString)
Hace google.com -> http://google.com
fuente
Tuve este mismo problema, así que estaba mirando la intención que está registrada en LogCat. Al ver el video de la Galería, llamó al mismo intento Intent.View, pero configuró el Tipo en "audio / *", lo que solucionó mi problema y no requiere importar MimeTypeMap. Ejemplo:
fuente
¿Había cambiado esta excepción a
Pero gracias a @Stan, me he convertido en una solución muy simple pero útil:
Uri.fromFile(File(content))
en lugarUri.parse(path)
Espero que ayude a alguien a solucionar su problema.
fuente
Si tiene estos errores en su logcat, use este código, me ayuda
además
fuente
Primero intente este código dentro de AndroidManifest
Si este código funciona, muy bien. Pero si no. Pruebe este código de la clase a la que desea pasar los datos o uri.
Espero que esto resuelva su problema. Gracias
fuente
Tengo dos ideas:
Primero: si desea reproducir un archivo 3gp, debe usar los tipos mime "audio / 3gpp" o "audio / mpeg"
Y en segundo lugar: se puede tratar método de uso
setData(data)
paraintent
sin ningún tipo de MIME.Espero que esto ayude.
fuente
Esta excepción puede surgir cuando maneja una
Deep linking
URL para un navegador, si no hay una instalación predeterminada. En caso de enlaces profundos, es posible que no haya ninguna aplicación instalada que pueda procesar un enlace en formatomyapp://mylink
.Puede utilizar la solución mandarina para API hasta 29:
Para API> = 30, consulte intent.resolveActivity devuelve nulo en API 30 .
fuente
intente verificar con cualquier URL como agregar
https://www.google.com
en la ruta y comience la actividad si funciona, entonces está agregando una ruta incorrecta
fuente