我正在尝试制作一个用于共享音频文件的按钮。这不起作用。首先,我试图直接从原始文件夹发送文件,而不将其复制到手机卡上。这并没有解决我的问题。我尝试的第二件事是将文件保存到手机上,然后共享。将文件保存到手机的部分现在可以工作了,但当我尝试将音频文件共享到其他设备时,所有兼容的应用程序(Whatsapp、Gmail等)都崩溃了。
这是我的代码:
String sharePath = Environment.getExternalStorageDirectory().getPath()
+ "/Soundboard/Ringtones/custom_ringtone.ogg";
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("audio/*");
share.putExtra(Intent.EXTRA_STREAM, sharePath);
startActivity(Intent.createChooser(share, "Share Sound File"));
顺便说一下,音频文件是一个。ogg文件。我希望这些应用程序能够处理这种类型的文件。如果不是,我应该把它转换成。mp3。
提前感谢!
以下代码适用于我
SoundFiles soundFiles=.....
String FullFilePath=soundFiles.getPath();
Uri uri = Uri.fromFile(new File(FullFilePath));
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("audio/*");
share.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(share, "Share Sound File"));
这是我的方式。
Uri uri = Uri.parse("file://" + sharePath);
好吧,找出我做错了什么。对于有相同问题的人,我是这样解决的:
我忘了将字符串解析为uri。这是我必须添加的唯一一行代码<代码>Uri Uri=Uri。解析(sharePath)
以下是完整的Rest:
String sharePath = Environment.getExternalStorageDirectory().getPath()
+ "/Soundboard/Ringtones/custom_ringtone.ogg";
Uri uri = Uri.parse(sharePath);
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("audio/*");
share.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(share, "Share Sound File"));
另外不要忘记添加权限WRITE_EXTERNAL_STORAGE
,否则在运行应用程序时会出现错误。
例如,当我选择在GMail上分享时,它会说“无法附加空文件”。看起来我没有得到正确的文件路径,所以我基本上没有共享任何内容。我做错了什么? 任何帮助都将不胜感激。
我正在尝试分享音频(.mp3)从第三个应用程序到我的android应用程序。当我接收到音频并获得意图信息(Uri soundUri=(Uri)intent.GetParcelableExtra(intent.Extra_Stream))时,Uri有错误的数据。路径正确,但文件名已用数字(例如5348)重命名,没有扩展名,实际文件名为Audio-6151616.mp3 因此,完整路径是/storag
我正在尝试共享RES/RAW文件夹中的音频文件。到目前为止我所做的是: 例如,当我选择在GMail上分享它时,它会说“无法附加空文件”之类的话。看来我没有得到正确的文件路径,所以我基本上没有共享任何东西。我做错了什么? 任何帮助都将不胜感激。
我想做一个按钮,在电报上共享音频文件。我只对电报有问题(在whatsapp上分享很好)。 我的音频文件在原始文件夹中,我尝试了。mp3。wav和。m4a扩展,但如果我尝试在电报上共享音频,我会收到“不支持的附件”的消息。 这就是我的分享方法:
看来我有bug了。至少我认为这是一个错误。我编写了一种Soundboard并想添加与他人共享声音的功能。我要分享的代码如下: 我的问题是,这是可行的,但只适用于一些应用程序。例如,当我与WhatsApp或DropBox共享音频时,它似乎工作得很好,但当我尝试使用Google Drive或Bluetooth进行相同操作时,似乎出现了一些错误。请注意,音频的文件类型为WAV。我还确保我有权限写入外部存
我正在使用FileProvider API来共享实际存储在内部存储中的内容。 有什么建议我做错了什么吗?