2

我正在通过此代码发送 dtmf 音。

String number="tel:+962791212121,2,3,3";
Intent c1= new Intent(android.content.Intent.ACTION_CALL, Uri.parse(number));
startActivity(c1);

它像这样发送完美的 dtmf。 2+ (2 秒延迟) +3+ (2 秒延迟) +3。

但我想消除那个 2 秒的延迟,或者我想控制那个延迟。

如何控制(2 秒延迟)?或任何其他在通话期间发送 dtmf 音的方法?

4

3 回答 3

2

要删除延迟,请删除逗号。

于 2012-06-23T04:31:19.453 回答
0

试试这个方法()。

private void call(int profileid) {//call procedure logic 
        ProfileDo profile = adapter.getProfile(profileid);
        if (profile.getStepCount() == 0) {
            Toast.makeText(getApplicationContext(), "Please edit the profile and add atleast one value to make a call", 10000).show();
            return;}
            String call = "tel:";
        for (StepDO step : profile.getSteps()) {
            String value = URLEncoder.encode(step.getValue());
            int delay = step.getDelay();
            String pausesStr = "";
            for (int i = 0; i < delay / 2; i++) {
                pausesStr += PhoneNumberUtils.PAUSE;
            }
            call += value + pausesStr;
        }
         startActivity(new Intent("android.intent.action.CALL", Uri.parse(call)));      
    }

希望这可以帮助你。

于 2013-10-10T06:07:26.077 回答
0

试试这个:

Intent signalIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:12334566778"+","+","+"1"));
startActivity(signalIntent);
于 2013-10-18T00:56:17.607 回答