在三星Android手机上使用逗号/暂停来拨打电话号码

时间:2012-05-18 00:20:00

标签: android

我正在开发一个拨号应用程序,我一直在我的摩托罗拉设备上测试以及我通过SDK管理器下载的模拟器图像。

用户键入数字,或从最近的通话或联系人中选择。然后我就这样拨打电话(逗号就在那里,以便在发送拨号音之前有延迟):

String url = "tel:" + preDial + " ,,, " + postDial;
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(url));
startActivity(intent);

在我的手机和模拟器上,手机应用程序会显示preDial及其联系人姓名,并将其正常插入最近的通话记录中。然而,当我在朋友的三星Charge上测试它时,它显示了url的内容(当然减去“tel:”)。例如,如果preDial = "15555555555"postDial = "1111"电话应用程序将显示15555555555 ,,, 1111,并且由于联系人没有附加的号码,将显示没有相应的联系人姓名,附加了1111。这也搞砸了通话记录,因为这个没有联系的笨拙号码存储在那里。我假设这是三星如何实现他们的手机的功能,我希望有一种解决方法。

我可以通过从通话记录中删除LIKE preDial来修复通话记录,但数字在手机应用中的显示方式仍然存在问题。有谁知道这是一个比三星更广泛的问题,如果有任何方法吗?

2 个答案:

答案 0 :(得分:1)

我会说这是摩托罗拉如何实现的,因为我从来没有想过在两者之间使用逗号。你只是试着没有逗号吗? String url = "tel:" + preDial + postDial;

修改:检查此explanation/advice by @RetoMeier ..

希望它有所帮助,并且真的希望你的用户界面比我的评论更好..;)

干杯

答案 1 :(得分:0)

尝试这样的事情,

 String tel = preDial + " ,,, " + postDial;
// it will remove all things except number's
                tel = tel.replaceAll("\\D", "");
                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("tel:" + tel));
                startActivity(callIntent);
相关问题