停止播放默认Android铃声,并在来电时播放用户自定义铃声

停止播放默认Android铃声,并在来电时播放用户自定义铃声,android,ringtone,Android,Ringtone,我正在尝试播放一个铃声,我将其保存为我的联系人,如下所述 Mringtone = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); Mringtone.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALL); Mringtone.putExtra(RingtoneManage

我正在尝试播放一个铃声,我将其保存为我的联系人,如下所述

        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();
如果我接到来电,我将同时播放默认铃声和保存铃声。我也尝试过使用StopperReviousRingtone。这对我没有帮助。请提供一些可行的方法

谢谢 文卡特拉曼