在whatsapp上共享音频文件

时间:2016-11-21 01:33:16

标签: java android audio whatsapp

我正在开发一个允许与whatsapp共享音频文件的应用程序。

我正在使用此代码:

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/raw/song.mp3");
Intent waIntent = new Intent(Intent.ACTION_SEND);
waIntent.setType("audio/mp3");
waIntent.setPackage("com.whatsapp");
waIntent.putExtra(Intent.EXTRA_STREAM, uri);
try {
    startActivity(waIntent);
}catch (android.content.ActivityNotFoundException ex){
    Toast.makeText(Fung.this,"Please, install Whatsapp", Toast.LENGTH_LONG).show();
}

但是当whatsapp启动并尝试发送给某人时,会显示以下错误:"无法分享,请再试一次"。

当我更改此代码以发送文本时,它可以工作,但不能用于音频文件。有人知道为什么会发生这种情况以及如何修复它?

1 个答案:

答案 0 :(得分:0)

我怀疑错误的原因是您尝试分享的文件位于您的应用内,而WhatsApp根本没有权限阅读它。您也不能简单地授予此权限(您无法有选择地授予其他应用访问您应用资源的权限),因此您需要将此文件复制到SD卡上的某个位置 - 然后使用URI SD卡上的文件将意图发送给WhatsApp。

更新:有关复制文件的详细信息,请查看this question