我在这段代码中遇到问题,为什么不在调用屏幕中显示#?
intent.button.Click += delegate {
var uri = Android.Net.Uri.Parse ("tel:*177*1112223333#");
var intent = new Intent (Intent.ActionDial, uri);
StartActivity (intent);
};
答案 0 :(得分:0)
你必须对Uri进行编码(转义)以发送"#"给拨号器:
var uri = Android.Net.Uri.Parse("tel:" + Android.Net.Uri.Encode("*177*1112223333#"));
var intent = new Intent(Intent.ActionDial, uri);
StartActivity(intent);
参考:RFC 3966
答案 1 :(得分:0)
除了使用#
之外,还可以使用Android.Net.Uri.Encode("#")
。
intent.button.Click += delegate {
var uri = Uri.Parse("tel:*177*1112223333" + Uri.Encode("#"));
var intent = new Intent(Intent.ActionDial, uri);
StartActivity(intent);
};
您也可以尝试将#
替换为%23
intent.button.Click += delegate {
var uri = Uri.Parse("tel:*177*1112223333%23");
var intent = new Intent(Intent.ActionDial, uri);
StartActivity(intent);
};