首页 文章

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

提问于
浏览
0

我正在尝试创建一个应用程序,共享应用程序的“原始”文件夹中的子项,但我没有得到它 . 该文件是共享的,但没有.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

    documentation for EXTRA_STREAM 表明它是:

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

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

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

    另外,请勿使用 audio/* . 使用您共享的内容的实际具体MIME类型 .

相关问题