我可以使用以下代码更改来电时的铃声:
public class CallStateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
{
RingtoneManager.setActualDefaultRingtoneUri(
getApplicationContext(),
RingtoneManager.TYPE_RINGTONE,
MyRingtoneURI );
}
break;
}
}
}
但真正的问题是,有时铃声改变过程不会发生得足够快,我得到的是旧的铃声,而不是这个铃声。之所以会发生这种情况,是因为手机开始响铃并且不会等待代码。
所以我的问题是,我可以在获得此代码之前更改铃声吗?是否可以选择延迟来电半秒钟,以便我可以更改铃声,然后告诉它继续通话?