gpt4 book ai didi

android - 获取存储在 android 的 res/raw 文件夹中的 .mp3 文件的 URI

转载 作者:IT王子 更新时间:2023-10-28 23:41:46 25 4
gpt4 key购买 nike

我有很多 .mp3 文件存储在 res/raw 文件夹中。

我正在使用以下代码获取 .mp3 文件的 URI。

Uri.parse("android.resource:///com.my.android.sharesound/"+resId);

这会返回:android.resource:///com.my.android.sharesound/2130968609

现在我正在使用这个 URI 创建共享 Intent

    shareIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("android.resource://com.my.android.sharesound/"+resId));
startActivity(Intent.createChooser(shareIntent,"Share Sound");

当我选择任何邮件应用程序时,例如。来自Share Intent 的Gmail 或YahooMail,成功附加了mp3 文件。但它显示2130968609(作为附件)

我不希望 resourceId(2130968609) 出现。

我想显示 fileName.mp3

我该怎么做?我错过了什么吗?

有没有其他方法可以通过 Share Intent 将存储在 res/raw 中的 .mp3 文件附加到邮件中。

最佳答案

经过大量搜索,我终于找到了解决方案。

如果你想获取任何资源 URI,那么有两种方法:

  1. 使用资源名称

    语法:android.resource://[package]/[res type]/[res name]

    示例:Uri.parse("android.resource://com.my.package/drawable/icon");

  2. 使用资源 ID

    语法:android.resource://[package]/[resource_id]

    示例:Uri.parse("android.resource://com.my.package/"+ R.drawable.icon);

这是获取存储在可绘制文件夹中的任何图像文件的 URI 的示例。

同样可以获取 res/raw 文件夹的 URI。

就我而言,我使用了第一种方式,即。使用资源名称

关于android - 获取存储在 android 的 res/raw 文件夹中的 .mp3 文件的 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7976141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com