2014-01-20 26 views
2
if (Build.VERSION.SDK_INT > 18) { 
// I have no idea what to do... :( 



} else { // It works good under api level 18 
    Uri DefaultRingtoneUri = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE); 

if (DefaultRingtoneUri != null) { 
    Cursor c = getContentResolver().query(DefaultRingtoneUri, null, null, null, null); 
    c.moveToFirst(); 
    BellName = c.getString(c.getColumnIndex(MediaStore.MediaColumns.TITLE)); 
    mediaURI = String.valueOf(DefaultRingtoneUri); 
} 
} 

如何获取我的默认铃声URI?如何获取4.4 kitkat上的铃声URI

其他代码在4.3及以下版本中运行良好。

回答

2

这是我用来播放默认声音。

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification); 
r.play(); 

查看How to play ringtone/alarm sound in Android了解更多信息。

+0

这只是权限问题。我修正了它的权限,READ_EXTERNAL_STORAGE – user3136241

+0

似乎很奇怪,它在4.3及以下版本未经许可而工作... –