重命名URI文件以从原始文件夹共享音频

时间:2018-03-10 15:28:47

标签: android uri share-intent

我正在尝试通过共享应用程序“raw”文件夹中的子项来创建应用程序,但我没有得到它。该文件是共享的,但没有.mp3扩展名。我无法听到Windows Media Player,但我手动添加了.mp3扩展名。有没有人知道我怎么做才能自动获得.mp3扩展名?将URI转换/重命名为mp3文件。

歌曲的名称来自于它在文件中注册,我相信如果可以重命名,最后添加.mp3可能会有效。但是我无法重命名。

我正在使用此代码:

意图分享;

Uri uri = Uri.parse("android.resource://"+this.getPackageName()+"/raw/name_musica"); 
share = new Intent(Intent.ACTION_SEND);
share.putExtra(Intent.EXTRA_STREAM, uri); share.setType("audio/*"); 
share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
startActivity(Intent.createChooser(share, "Enviar via: "));

1 个答案:

答案 0 :(得分:0)

EXTRA_STREAM documentation表明它是:

  

内容:包含与Intent关联的数据流的URI,与ACTION_SEND一起使用以提供正在发送的数据。

android.resource:不是content:。没有要求任何响应ACTION_SEND的内容知道如何处理android.resource:中的Uri EXTRA_STREAM

将资源复制到本地文件系统并使用FileProvider,因此FileProvider可以为content: Uri提供EXTRA_STREAM使用ContentProvider。或者,直接从原始资源编写自己的content:内容,并为您的提供商使用Uri audio/*

另外,请勿使用scipy。使用您共享的内容的实际具体MIME类型。