iphone 和 android 都支持以相同的方式拨打电话。
您需要构建一个 URL 并“运行”该 URL。 iphone 和 android 都不支持任何类型的呼叫控制,因此您必须使用 url 来拨打电话。它们都支持 url 中的“暂停”字符和 dtmf 音调。
iphone 不支持某些字符,尤其是“#”和“*”字符。因为不支持“#”字符(出于安全原因),它会使处理 PBX 系统变得困难。
在 android 上,您必须手动或使用 URLEncoder 对字符进行“编码”。我没有任何运气支持 Android 中的“#”字符,但我看到了它工作的报告。您需要对此进行测试,看看它是否适合您。
对于 iphone,您使用 UIApplication openURL: 到 tel link。
例如
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:123456p12345"]];
对于 android,您使用 INTENT_DIAL 或 ACTION_CALL。
INTENT_CALL 将显示电话拨号器并填写您的号码。它不需要任何特殊设置。
例如
Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:123456"));
startActivity(dialIntent);
ACTION_CALL 需要您的清单文件中的CALL_PHONE 权限。
例如
AndroidManifest.xml:
Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:123456%2C12345"));
startActivity(dialIntent);