Flutter 我怎样才能从Flatter拨电话?
我正在开发一个Flutter应用程序,我想拨一个电话号码来回应按键的敲击。最好的方法是什么Flutter 我怎样才能从Flatter拨电话?,flutter,Flutter,我正在开发一个Flutter应用程序,我想拨一个电话号码来回应按键的敲击。最好的方法是什么 谢谢 通常,要与底层平台进行交互,您必须编写特定于平台的代码,并使用该代码与底层平台进行通信。然而,颤振提供了一些与开箱即用平台的集成点。例如,要拨打电话,您可以使用API和tel方案拨打电话 类似于urlauncher.launch(“tel://”)的东西应该可以在所有平台上正常工作 请注意,这在模拟器中不起作用。因此,请确保您使用的是实际设备来测试此功能。此方法将打开拨号程序: \u launchC
谢谢 通常,要与底层平台进行交互,您必须编写特定于平台的代码,并使用该代码与底层平台进行通信。然而,颤振提供了一些与开箱即用平台的集成点。例如,要拨打电话,您可以使用API和
tel
方案拨打电话
类似于urlauncher.launch(“tel://”)的东西代码>应该可以在所有平台上正常工作
请注意,这在模拟器中不起作用。因此,请确保您使用的是实际设备来测试此功能。此方法将打开拨号程序:
\u launchCaller()异步{
const url=“电话:1234567”;
如果(等待canLaunch(url)){
等待发射(url);
}否则{
抛出“无法启动$url”;
}
}
编辑:
如果任何人遇到错误:
在pubspec.yaml中添加url\u启动器:
,运行flatterget
另外,import'package:url_launcher/url_launcher.dart'代码>您可以使用url\u启动器小部件()
将此添加到包的pubspec.yaml文件:依赖项:url\u启动器:^5.7.10
安装它:$flatter pub get
导入它Import'package:url_launcher/url_launcher.dart'代码>
在类内部,定义此方法,以便可以从代码中的任何操作调用:
Future<void> _makePhoneCall(String url) async {
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
注1:您应使用前缀“tel”填写电话号码:“tel:0123456789”
注2:有时,只有关闭手机中的应用程序并重新打开它,它才能正常工作,因此颤振才能成功注入新部件的代码。
是否也可以进行更多的低级电话活动?我正在考虑创建一个完全替换的拨号器应用程序,我想知道它是否可以在颤振中完成。链接到UrlLauncher
不再工作,该功能似乎已被移动到一个新的包中:“请注意,这在模拟器中不起作用。”-非常感谢!这应该是正确且被接受的答案。这很好用。在以下位置找到相同的参考:检查最新答案:
IconButton(icon: new Icon(Icons.phone),
onPressed: ()
{
setState(() {
_makePhoneCall('tel:0597924917');
});
},
),
import 'package:flutter/material.dart';
import 'package:flutter_phone_direct_caller/flutter_phone_direct_caller.dart';
void main() {
runApp(Scaffold(
body: Center(
child: RaisedButton(
onPressed: _callNumber,
child: Text('Call Number'),
),
),
));
}
_callNumber() async{
const number = '08592119XXXX'; //set the number here
bool res = await FlutterPhoneDirectCaller.callNumber(number);
}