0
votes

Comment partager des fichiers audio dans Android Studio (Kotlin)?

Comment puis-je partager un fichier audio dans Android Studio? J'ai essayé ce qui suit jusqu'à présent, mais cela ne fonctionne pas. XXX


0 commentaires

4 Réponses :


2
votes

Votre code semble bien, mais je vous suggère d'essayer celui-ci: XXX PRE>

Si cela ne fonctionne pas non plus, assurez-vous que vous accordiez les bonnes autorisations dans le manifeste. Fichier XML (Write_External_storage): P>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


7 commentaires

Merci pour la réponse rapide. En effet, j'ai oublié d'accorder les bonnes autorisations dans le manifeste.xml. Mais après l'avoir ajouté, cela ne fonctionnera toujours pas.


Peut-être que le problème est dans la mise en œuvre de la SETONLONGCLICKLISNER ()?


L'auditeur fonctionne, d'autres types de partage (comme texte) fonctionnent également bien. Je suis assez certain que c'est à cause du chemin. C'est en quelque sorte pas correct.


Peut-être que vous n'avez pas les bonnes autorisations au répertoire dans lesquelles l'audio est. Quel est le problème? Il se bloque? Ne fait rien?


Les options de partage apparaissent correctement, mais le fichier audio n'est tout simplement pas joint. J'ai défini les bonnes autorisations en ajoutant write_external_storage dans manifeste.xml, je suppose. Je ne sais donc vraiment pas quelle est la question actuelle. Donnera une mise à jour quand je l'ai compris.


Voulez-vous poster le fichier manifeste?


Essayez également de passer à l'intention de Putextra directement le chemin, sans l'analyser à URI. Supprimer URI uri = URI.PARSE (SharePath); et remplacer share.phatextra (intention.extra_stream, SharePath); .




0
votes

Ceci est travaillé pour moi

  • appelez cette méthode bouton onclick: XXX

    J'ai remplacé uri.parse avec FileProvider.GetTuriforfile .

    Remplacez com.app.package Avec votre colis.

    • Ajouter sur Android Manifest: XXX

      ApplicationID Votre colis

      • Créez file_paths.xml fichier dans Dossier XML XXX


0 commentaires

0
votes

Partagez n'importe quel fichier comme ci-dessous (kotlin): strong>

Créez d'abord un dossier nommé xml code> em> dans le dossier code> res em> em> ou créez un nouveau fichier de ressources XML nommé fournisseur_paths.xml code> em> et mettez le code ci-dessous à l'intérieur:

button.setOnLongClickListener {
    try {
        val file = File("pathOfFile")
        if(file.exists()) {
            val uri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".provider", file)
            val intent = Intent(Intent.ACTION_SEND)
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
            intent.setType("*/*")
            intent.putExtra(Intent.EXTRA_STREAM, uri)
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent)
        }
    } catch (e: java.lang.Exception) {
        e.printStackTrace()
        toast("Error")
    }
}


0 commentaires