我正在尝试播放我为联系人保存的铃声,如下所述
Mringtone = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
Mringtone.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_ALL);
Mringtone.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,
"Select RingTone");
Mringtone.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
(Uri) Uri.parse(SelectedRingTone));
this.startActivityForResult(Mringtone, 0);
在活动结果上,我得到了铃声 URI 并将其保存到我的表中
CustomRingToneUri = data.getParcelableExtra(mRingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (CustomRingToneUri != null) {
int updateRes= getContentResolver().update(URI_MY_TABLE,contactRingTone(CustomRingToneUri.toString()),
"_id = " + "\"" + receivedExtra + "\"", null);
}
因此它按预期正确更新,并且我正在使用 PhoneStateListener 接收来电,我正在尝试从我从表中收到的 URI 播放铃声,如下所示
Uri ConvertedToUri;
ConvertedToUri = Uri.parse(IncomingNumberRingtonePath);
ringTone=ringToneManager.getRingtone(getApplicationContext(), ConvertedToUri);
if (ringTone.isPlaying())
ringTone.stop();
ringTone.play();
如果我接到来电,我会同时播放默认铃声和保存铃声。我也尝试过使用stopPreviousRingTone。这对我没有帮助。请给我一些可行的方法
谢谢文卡特拉曼