我想发送号码来拨打意图。它适用于简单的数字,但是当我想使用#作为数字时,它不起作用。喜欢* 123 * 12#。
这就是我所做的:
public PhoneIntents dialPhone(String phoneNumber)
{
intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phoneNumber));
return this;
}
它会自动删除号码末尾的#。但我也想要# 删除
intent.setData(Uri.parse("tel:" + phoneNumber));
适用于模拟器,但不适用于我的s7手机。它没有调出拨号应用程序。
答案 0 :(得分:1)
你可以试试这个。这对我有用
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", phoneNumber, null));
mContext.startActivity(intent);
答案 1 :(得分:0)
首先需要对#符号进行编码:
public PhoneIntents dialPhone(String phoneNumber) {
int sharpIndex = phoneNumber.indexOf('#');
if (sharpIndex != -1) {
phoneNumber = phoneNumber.replace("#", Uri.encode("#"));
}
intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phoneNumber));
return this;
}