我正在创建一个会议管理器应用程序。我正在使用PhonenumberUtils.PAUSE()在通话过程中延时。它只能工作几秒钟。我想根据我的意愿让它暂停几秒钟。如何能帮我的人能帮到我吗?
String telUri = "tel:" + 121 + PhoneNumberUtils.PAUSE + 4
+ PhoneNumberUtils.PAUSE + 6 ;
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(telUri));
startActivity(callIntent);
现在呼叫将进入121并且没有任何时间延迟它正在执行数字4和6相同。我想给出121和4的时间延迟。我怎么能给出?
答案 0 :(得分:1)
PhoneNumberUtils.PAUSE将等待2秒,而PhoneNumberUtils.PAUSe的值为“,”。
ProfileDo profile = adapter.getProfile(profileid);
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;
System.out.println(""+call);
}
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(call));
startActivity(callIntent);
}
}
答案 1 :(得分:0)
这是一个拨号器的事情,一次暂停所需的时间并非真正由你控制,但通常 2-3秒。如果你想要更长的停顿 - 只需连续两次暂停。
另外,使用StringBuilder
(记忆原因)
String doublePause = PhoneNumberUtils.PAUSE + PhoneNumberUtils.PAUSE;
StringBuilder sb = new StringBuilder("tel:").append(121).append(doublePause).append(4).append(doublePause).append(6);
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(sb.toString()));