在我的应用程序中,我存储了 Facebook 网址。我想在 Facebook 应用程序而不是浏览器中打开它们。我尝试使用flutter_url_launcher 包,但它在默认浏览器中打开链接......我想要的是直接打开链接到facebook 应用程序。谁能建议任何解决方案或软件包来帮助我摆脱这种情况?
问问题
10355 次
3 回答
10
我还使用了@ruelluna 提到的链接中的解决方案。
根据当前版本,以下代码对我有用:
String fbProtocolUrl;
if (Platform.isIOS) {
fbProtocolUrl = 'fb://profile/page_id';
} else {
fbProtocolUrl = 'fb://page/page_id';
}
String fallbackUrl = 'https://www.facebook.com/page_name';
try {
bool launched = await launch(fbProtocolUrl, forceSafariVC: false);
if (!launched) {
await launch(fallbackUrl, forceSafariVC: false);
}
} catch (e) {
await launch(fallbackUrl, forceSafariVC: false);
}
另外,确保 Info.plist 文件包含以下内容:
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[your_page_id]</string>
</array>
</dict>
</array>
您可以从以下网址获取 your_page_id:https ://findmyfbid.com/
于 2020-03-03T09:13:09.800 回答
1
我的工作职能:
void launchUrl2() async{
var url = 'fb://facewebmodal/f?href=https://www.facebook.com/al.mamun.me12';
if (await canLaunch(url)) {
await launch( url, universalLinksOnly: true, );
} else { throw 'There was a problem to open the url: $url'; }
}
于 2021-12-03T18:45:07.463 回答
-1
您可以将其打开为网络
final url =
"web://$**Your_Profile_Page**";
if (await UrlLauncher.canLaunch(url)) {
await UrlLauncher.launch(url,forceSafariVC: false);
} else {
throw 'Could not launch $url';
}
于 2020-02-06T12:17:27.980 回答