android DTmf音

时间:2012-06-23 04:03:44

标签: android

我通过此代码发送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音的任何其他方法?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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)));      
    }

希望这会对你有所帮助。

答案 2 :(得分:0)

试试这个:

Intent signalIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:12334566778"+","+","+"1"));
startActivity(signalIntent);