我找到了很多关于如何获取默认铃声的示例。这样的事情:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
Ringtone ringtone = RingtoneManager.getRingtone(getApplicationContext(), alert);
ringtone.setStreamType(AudioManager.STREAM_RING);
ringtone.play();
但我想得到用户设定的实际当前铃声。
答案 0 :(得分:13)
我也在努力解决这个问题,所以解决方案是:
Uri defaultRingtoneUri = RingtoneManager.getActualDefaultRingtoneUri(getActivity().getApplicationContext(), RingtoneManager.TYPE_RINGTONE);
Ringtone defaultRingtone = RingtoneManager.getRingtone(getActivity(), defaultRingtoneUri);
答案 1 :(得分:2)
这是解决方案。
内部onActivityResult
:
Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
Ringtone r=RingtoneManager.getRingtone(this, uri);
String ringToneName=r.getTitle(this);
Toast.makeText(getApplicationContext(), "Ringtone Name : "+ringToneName,Toast.LENGTH_SHORT).show();
但它会在模拟器中显示exception
因为模拟器中没有铃声所以在移动设备中执行此操作
答案 2 :(得分:1)
尝试:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI);
答案 3 :(得分:0)
我也经常搜索你的问题。 最后得到了解决方案。
在按钮中使用以下代码获取铃声意图。
public void pickRingtone(View view) {
// TODO Auto-generated method.stub
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Ringtone");
// for existing ringtone
Uri urie = RingtoneManager.getActualDefaultRingtoneUri(
getApplicationContext(), RingtoneManager.TYPE_RINGTONE);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, urie);
startActivityForResult(intent, 5);
}
答案 4 :(得分:0)
这是dgabor答案的延伸。
只需添加Uri defaultRintoneUri = RingtoneManager.getActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE);
Ringtone defaultRingtone = RingtoneManager.getRingtone(getApplicationContext(), defaultRintoneUri);
defaultRingtone.play();
即可播放铃声。
<init-param>
<param-name>USER</param-name>
<param-value>${USER}</param-value>
</init-param>
答案 5 :(得分:0)
试试这个:
words = new String[length];
答案 6 :(得分:0)
Alexander The Great
的回答是正确的。但是,我简化了。
Uri currentRingtonUri = RingtoneManager.getActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE);