Pas d'Activité pour gérer Intention : android.l'intention.d'action.VUE
C'est mon code pour lire le son enregistré en fichier 3gp
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse(path);
intent.setDataAndType(data, "audio/mp3");
startActivity(intent);
Mais lors de l'exécution dans mon appareil HTC (Android 2.2 Froyo) montre une exception:
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 tablette Galaxy ça fonctionne. Comment puis-je résoudre ce problème?
- Est-ce parce que votre fichier est un .3gp et votre dire le système de jeu de données que le mp3?
- j'ai essayé avec 3gp bt encore une exception est levée
Vous devez vous connecter pour publier un commentaire.
Adresses Url doit être précédée par http://
jette un ActivityNotFoundException. Si vous ajouter le préfixe "http://", le problème est résolu.
Ne peut pas aider l'OP, mais je me suis retrouvé ici la recherche de la même exception et peut-être qu'il aide les autres.
file://
manquait dans mon cas, jusqu'à ce que j'ai changéUri.parse()
àUri.fromFile()
.Uri.parse(Uri.decode(encodedString))
C'est la bonne façon de le faire.
vous devez import import android.webkit.MimeTypeMap;
Si vous obtenez cette erreur lorsque vous essayez d'ouvrir une page web à partir de votre application android, c'est parce que votre url ressemble à ceci:
www.google.com
au lieu de:
https://www.google.com
ouhttp://www.google.com
ajouter ce code à votre Activité/Fragment:
il suffit de passer votre url à
openWebPage()
. Si c'est déjà le préfixehttps://
ouhttp://
alors vous êtes bon pour aller, sinon si l'instruction des poignées pour vousRéponse par Maragues m'a fait vérifier logcat de sortie. Semble que le chemin que vous avez passer à l'Uri doit être précédé
file:/
Puisque c'est un chemin d'accès local à votre espace de stockage.
Vous pouvez aussi regarder le chemin lui-même trop.
Point de montage semble apparaître deux fois dans le chemin d'accès complet.
Pour moi, lorsque vous essayez d'ouvrir un lien :
J'ai eu la même erreur
android.content.ActivityNotFoundException: No Activity found to handle Intent
*Leçon : assurez-vous qu'au moins une application qui gère l'intention que vous appelez *
Si vous ne passez pas la bonne URL de site web et n'avez pas de navigateur, ActivityNotFoundException se produit, afin de vérifier ces exigences ou de traiter l'exception explicitement. Qui peut résoudre votre problème.
Cochez cette méthode utile:
URLUtil.guessUrl(urlString)
Il fait google.com -> http://google.com
Si vous avez ces erreurs dans le logcat ensuite utiliser ces code il m'aider
aussi
J'ai eu ce même problème, j'ai donc été à la recherche à l'intention qui est enregistré dans le LogCat. Lors de l'affichage de la vidéo à partir de la Galerie, il a appelé de la même Intention.Vue de l'intention, mais de définir le Type de "audio/*", qui a réglé mon problème, et ne nécessite pas l'importation de MimeTypeMap. Exemple:
A cette exception même changé de
Mais merci pour @Stan j'en ai fait très simple, mais utilement solution:
Uri.fromFile(File(content))
au lieuUri.parse(path)
Espère que cela aide quelqu'un à résoudre son problème.
J'ai deux idée:
D'abord: si vous voulez jouer 3gp fichier, vous devez utiliser les types mime audio/3gpp" ou "audio/mpeg"
Et la deuxième: vous pouvez essayer d'utiliser la méthode
setData(data)
pourintent
sans aucun type mime.Espère que cette aide.