我正在尝试创建一个应用程序,共享应用程序的“原始”文件夹中的子项,但我没有得到它 . 该文件是共享的,但没有.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 回答
documentation for
EXTRA_STREAM
表明它是:android.resource:
不是content:
. 没有要求任何响应ACTION_SEND
的内容知道如何处理EXTRA_STREAM
中的android.resource:
Uri
.将资源复制到本地文件系统并使用
FileProvider
,因此FileProvider
可以为content:
Uri
提供与EXTRA_STREAM
一起使用 . 或者,编写您自己的ContentProvider
,直接从您的原始资源提供内容,并为您的提供者使用content:
Uri
.另外,请勿使用
audio/*
. 使用您共享的内容的实际具体MIME类型 .