Ne peut pas partager de l'audio avec Facebook Messenger sur Android: “Désolé, le Messager n'a pas pu traiter ce fichier”
Je suis en utilisant le morceau de code suivant pour partager un fichier audio situé sur un périphérique:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://pathToFile"));
intent.setType("audio/*");
activity.startActivity(Intent.createChooser(intent, "Share..."));
Android ouvre le Partage de système de dialogue où vous pouvez sélectionner une application appropriée de la poignée de la part de l'intention. Les fichiers Audio sont bien partagée avec Gmail, WhatsApp, Telegram et Google Drive.
Mais Messenger affiche l'erreur suivante:
Cependant, lorsque j'essaie de partager le même fichier à l'aide Android Téléchargez l'application, tout fonctionne très bien avec le Messager.
Pourquoi Messenger pour ne pas traiter ma part demande correctement, alors que toutes les autres applications pour le faire, et ce qui doit être changé dans mon code pour qu'il fonctionne de la même manière que le partage du Téléchargement de l'application (de sorte qu'il serait travailler pour Messenger)?
Vous devez vous connecter pour publier un commentaire.
J'ai découvert que Facebook Messenger n'accepte pas les noms de fichiers contenant des espaces sur eux, cela signifie que vous ne pouvez pas partager un fichier audio nommé "test audio.mp3, mais il devrait fonctionner très bien si elle est nommée "audio_test.mp3"
Il également n'accepte pas les caractères non-ASCII (á,é,ñ,ç, etc)
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://pathToFile"));
à ceci:intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(pathToFile)));
et tout a commencé à travailler dans tous les cas. Il ressemble à Facebook app a un bug, et il ne faut pas traiter les Url correctement. Il importe donc comment vous la créez.J'ai été confronté à ce problème depuis longtemps, Ce que je n'ai fait a été de mettre ces 2 lignes de code, et maintenant, il peut travailler pour n'importe quel format de fichier et de tout nom de fichier.
Grâce à @csbubbles de son commentaire.