我正在尝试通过共享应用程序“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: "));
答案 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类型。