首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示当前报警、通知、VoiceCall、

如何显示当前报警、通知、VoiceCall、
EN

Stack Overflow用户
提问于 2011-10-06 04:41:07
回答 2查看 2.1K关注 0票数 0

我使用这个代码,我在这里或多或少找到了它,但返回的总是相同的答案:“默认铃声是Gleam",但事实并非如此。

我想告诉用户设置的声音是什么:闹钟,系统通知,语音呼叫,日历通知,短信通知(我是不是忘了一些?)

我尝试使用以下代码:

代码语言:javascript
复制
SharedPreferences prefsRingtones =  PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Uri ringtoneUri = Uri.parse(prefsRingtones.getString("RingtonePref","DEFAULT_RINGTONE_URI"));
Ringtone ringtone = RingtoneManager.getRingtone(this, ringtoneUri);
String ringToneName = ringtone.getTitle(this);

或集成使用DEFAULT_ALARM_ALERT_URI、DEFAULT_NOTIFICATION_URI的DEFAULT_RINGTONE_URI

EN

回答 2

Stack Overflow用户

发布于 2011-10-06 13:26:26

谢谢,它起作用了。对于所有其他代码,这是有效的代码:

代码语言:javascript
复制
Uri ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone ringtone = RingtoneManager.getRingtone(this, ringtoneUri);
String ringToneName = ringtone.getTitle(this);
票数 2
EN

Stack Overflow用户

发布于 2011-10-06 05:08:10

尝试将prefsRingtones的默认值设置为RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION),而不是"DEFAULT_RINGTONE“。

代码语言:javascript
复制
SharedPreferences prefsRingtones =  PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Uri ringtoneUri = Uri.parse(prefsRingtones.getString("RingtonePref",RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)));
Ringtone ringtone = RingtoneManager.getRingtone(this, ringtoneUri);
String ringToneName = ringtone.getTitle(this);

将TYPE_NOTIFICATION更改为您需要的声音类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7667456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档