当前位置: 首页 > 知识库问答 >
问题:

Android studio音频共享问题

容飞掣
2023-03-14
b1.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            Uri uri = Uri.parse("android.resource://haydo.kufurbaz.kfrbazhaydosesleri/raw/aaaww.mp3");
            Intent myınIntent = new Intent(Intent.ACTION_SEND);
            myınIntent.setType("audio/*");
            String sharebody = "Your body here";
            myınIntent.putExtra(Intent.EXTRA_STREAM,uri);
            startActivity(Intent.createChooser(myınIntent,"Share using"));
            return true;
        }
    });

例如,当我选择在GMail上分享时,它会说“无法附加空文件”。看起来我没有得到正确的文件路径,所以我基本上没有共享任何内容。我做错了什么?

任何帮助都将不胜感激。

共有1个答案

张淳
2023-03-14

好的,经过大量研究和拦截一些意图,现在开始工作了。

我必须做的是将文件:///更改为内容://。

我是根据Android的信息做的:https://developer.android.com/reference/android/support/v4/content/FileProvider.html

唯一的主要变化是我使用了硬编码路径来 /sdcard/file.ext.

getUriForFile(getContext(), "com.mydomain.fileprovider", newFile);

被改为

Uri contentUri = FileProvider.getUriForFile(this, "com.mydomain.fileprovider", newFile);

还必须包括:

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
i.setData(contentUri);

我真的不明白为什么我不得不从文件更改为内容,但在此之后,文件现在又被附加了!如果你面临这个问题,请查看链接,不要忘记新的。需要创建的xml。

 类似资料:
  • 我正在尝试制作一个用于共享音频文件的按钮。这不起作用。首先,我试图直接从原始文件夹发送文件,而不将其复制到手机卡上。这并没有解决我的问题。我尝试的第二件事是将文件保存到手机上,然后共享。将文件保存到手机的部分现在可以工作了,但当我尝试将音频文件共享到其他设备时,所有兼容的应用程序(Whatsapp、Gmail等)都崩溃了。 这是我的代码: 顺便说一下,音频文件是一个。ogg文件。我希望这些应用程序

  • 我想做一个按钮,在电报上共享音频文件。我只对电报有问题(在whatsapp上分享很好)。 我的音频文件在原始文件夹中,我尝试了。mp3。wav和。m4a扩展,但如果我尝试在电报上共享音频,我会收到“不支持的附件”的消息。 这就是我的分享方法:

  • 我正在尝试分享音频(.mp3)从第三个应用程序到我的android应用程序。当我接收到音频并获得意图信息(Uri soundUri=(Uri)intent.GetParcelableExtra(intent.Extra_Stream))时,Uri有错误的数据。路径正确,但文件名已用数字(例如5348)重命名,没有扩展名,实际文件名为Audio-6151616.mp3 因此,完整路径是/storag

  • 我想从我的应用程序在不同的社交应用程序中共享音频文件。我正在使用以下代码来共享音频。它适用于Whatsapp,但不适用于共享。共享应用程序打开但无法检索文件并显示“不支持发送此类内容”。该文件为“mp3”格式。我可以使用android通用共享选项从文件管理器共享文件,然后选择共享。

  • 看来我有bug了。至少我认为这是一个错误。我编写了一种Soundboard并想添加与他人共享声音的功能。我要分享的代码如下: 我的问题是,这是可行的,但只适用于一些应用程序。例如,当我与WhatsApp或DropBox共享音频时,它似乎工作得很好,但当我尝试使用Google Drive或Bluetooth进行相同操作时,似乎出现了一些错误。请注意,音频的文件类型为WAV。我还确保我有权限写入外部存

  • 我正在使用FileProvider API来共享实际存储在内部存储中的内容。 有什么建议我做错了什么吗?