如何在Android中将'#'字符传递给ACTION_DIAL意图

时间:2012-08-16 05:58:31

标签: android

我想将一个包含“#”的数字传递给Android系统的拨号盘。像我使用的以下代码一样:

Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:#123456#"));
mContext.startActivity(intent);

但实际上,拨号盘中显示的数字是“123456”,“#”已消失。 我找不到导致这个问题的原因,任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:4)

尝试:

Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:" + Uri.encode("#123456#"));

mContext.startActivity(intent);

Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:" + Uri.encode("#123456#")); mContext.startActivity(intent);

答案 1 :(得分:2)

试一试

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.fromParts("tel", "#123456#", "#")); 
startActivity(intent); 

答案 2 :(得分:0)

如果你想拨打一个号码(例如:#123),你可以试试这个:

Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:" + Uri.encode("#123")));
startActivity(callIntent);

如果您想对#123这样的号码进行CALL,您只需修改意图:

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + Uri.encode("#123")));
startActivity(callIntent);