Android:#(哈希)符号不会显示在模拟器的拨号界面或真实设备中!
它只显示*和数字?我怎么把它发送到拨号屏幕?但是我使用了另一个动作,如(Intent.ACTION_CALL),但同样的结果没有任何变化!
Inetent i = new Intent(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:1234567890*#"));
startActivity(i);
任何帮助都将不胜感激。
答案 0 :(得分:1)
#symbol 有一个special meaning in URIs,因此您必须使用Uri.encode()
方法对其进行编码,如下所示:
Inetent i = new Intent(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:" + Uri.encode("1234567890*#")));
startActivity(i);
或者您可以使用特殊字符映射来启动#key as
Inetent i = new Intent(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:" + "1234567890*" + "%23")));
startActivity(i);
答案 1 :(得分:0)
Intent i = new Intent(Intent.ACTION_DIAL);
final String encodedHash = Uri.encode("#");
i.setData(Uri.parse("tel:1234567890*"+encodedHash));
startActivity(i);
'#'保留给Uri ..请参阅:http://developer.android.com/reference/android/net/Uri.html