java - 如何在 Android 中获取铃声名称?

标签 java android android-intent android-notifications ringtone

我允许我的用户为我的应用中的通知选择铃声。我想存储声音的 URI 以及声音的可读标题。

到目前为止,URI 代码运行良好:

Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

但是当我尝试获取标题并将其设置为按钮文本时,我什么也得不到。好像没有标题?

String title = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_TITLE);
button.setText(title);

但是我的按钮文本是空的。如果我这样做:

button.setText(uri.toString());

然后我完美地看到了 uri。我应该尝试从 URI 中获取标题吗?谢谢

最佳答案

这应该得到它:

Ringtone ringtone = RingtoneManager.getRingtone(this, uri);
String title = ringtone.getTitle(this);

请参阅 http://developer.android.com/reference/android/media/Ringtone.html对于文档,但简短的故事:Ringtone.getTitle(Context ctx);

关于java - 如何在 Android 中获取铃声名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19187834/

相关文章:

android - 如何启动 android GCM token 刷新?

java - Android Studio - 错误 :Execution failed for task ':app: ... ase' duplicate entry: com/google/android/gms/internal/zznq. 类

java - 使用 Navigation 包中的 startActivity

java - Spring Activity 尚未发布

java - 如何向数组添加元素?

java - 使用 ArrayList.contains() 查找匹配的值并将其从 ArrayList 中删除

java - 编译Java源文件时出错

android - Robolectric-Gradle 插件运行单一测试

android - android 4.0.3 上的小部件问题

android - 从 Intent.createChooser() 启动时如何防止应用程序/Activity 的多个实例?