1
Uri clipUri = Uri.parse("android.resource://com.packagename.community/raw/" + rawname);
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, clipUri);
shareIntent.setType("audio/mpeg");
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));

这段代码几乎可以工作,我可以成功地将剪辑发送到另一个应用程序(例如保管箱)并且文件一切正常,除了它缺少 .mp3 扩展名。

4

1 回答 1

0

欢迎来到 StackOverflow!StackOverflow 用于编程问题,这不是问题。

我将您的非问题解释为:

为什么,当我使用Uri没有文件扩展名的 a 时,文件扩展名不是由文件扩展名精灵神奇地添加的?

那是因为Android缺少文件扩展精灵。

如果你想在你的文件中有一个扩展名Uri,你需要放一个。而且,由于我知道没有任何语法会给出android.resource:// Uri文件扩展名,因此您的选择是:

  1. 共享文件,而不是资源

  2. 创建一个ContentProvider将通过openFile响应某些Uri确实具有所需文件扩展名的资源来提供资源的

  3. 没有文件扩展名的生活

  4. 不要共享资源

于 2012-12-29T21:15:47.060 回答