如何在Flutter中启动外部应用程序(如Skype)

时间:2019-06-10 09:36:55

标签: flutter

我尝试使用url_launcher软件包,但由于某种原因,它似乎仅适用于默认方案,例如http,mail,sms,tel。

String phoneURL = 'skype:skype_login';
if (await canLaunch(url)) {
   await launch(url);
}

那么有什么机会通过Flutter代码打开外部应用(例如Skype)?

1 个答案:

答案 0 :(得分:1)

好吧,看来我明白了。尚未记录,或者我还没有看到这些信息。我从this issue.

获得了一些相关信息

首先,对于Skype(或任何具有URI方案的外部流行应用),要在iOS上运行它,请将以下代码添加到Xcode中的项目Info.plist文件中:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>skype</string>
</array>

Android无需采取特殊步骤。

此外,您可以检查应用程序是否已打开,因此它会返回一个布尔值,指示启动调用是否成功:

if (await canLaunch('skype:username')) {
  final bool nativeAppLaunchSucceeded = await launch(
    'skype:username',
  );
  if (!nativeAppLaunchSucceeded) {
    // Do something else
  }
}