如何将铃声添加到 RingtoneManager?

Posted

技术标签:

【中文标题】如何将铃声添加到 RingtoneManager?【英文标题】:How to add ringtones to a RingtoneManager? 【发布时间】:2012-07-21 00:52:26 【问题描述】:

我希望能够向 RingtoneManager 添加铃声文件,甚至是整个文件夹路径,这样当我调用 RINGTONE_PICKER 操作活动时,它的光标将不仅仅包含默认铃声。

这听起来像是一个简单的请求,但在 RingtoneManager 文档中没有明显的方法(除非我是盲人),而且我在这里找不到明显相似的问题。

我已经尝试将铃声文件(.ogg)直接添加到模拟器中的/system/media/ringtones/文件夹中(我不打算root我的物理手机),模拟器中的管理器仍然没有列出它们。

有什么建议吗?

【问题讨论】:

【参考方案1】:

所以在挖了一圈之后,我了解到在使用 RINGTONE_PICKER 时:

如果您将 RingtoneManager 类型设置为 TYPE_RINGTONE

Intent intent = new Intent( RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_RINGTONE);
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
startActivityForResult( intent, 0);

然后铃声选择器会将位于文件系统中标题为“铃声”的任何文件夹中的任何可行的音频文件(mp3、ogg 等...)添加到它的可选择光标。

如果 RingtonManager 类型设置为 TYPE_NOTIFICATION

intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION);

然后它将添加位于任何名为“通知”的文件夹中的任何可行的音频文件

最后,如果您将类型设置为 TYPE_ALL,它将显示名为“铃声”或“通知”的文件夹中的所有音频文件。

我希望这能让其他人更清楚!

【讨论】:

感谢您的出色澄清(Google 的文档总是处于软弱无力的一面) 如果您想将自己的文件从应用中的原始资源添加到选择器中怎么办?

以上是关于如何将铃声添加到 RingtoneManager?的主要内容,如果未能解决你的问题,请参考以下文章

Android RingtoneManager铃声管理

android RingtoneManager 铃声管理器

如何在 Android 中获取当前铃声?

Android RingtoneManager 铃声管理

RingtoneManager-获得系统当前的铃声

如何从系统声音中获取铃声