如何从flutter应用打开instagram?

wvt8vs2t  于 2022-12-19  发布在  Flutter
关注(0)|答案(6)|浏览(127)

我想过渡到Instagram的个人资料,当我点击按钮。我使用这个库url_launcher。但在那里我只能使用Web浏览器。我该怎么做,为了达到我的目标?

2wnc66cl

2wnc66cl1#

要打开本机Instagram和WebView Instagram:
1.添加到您的iOS/Runner/信息列表:

<key>LSApplicationQueriesSchemes</key>
 <array>
     ...
     <string>instagram</string>
 </array>

1.安装url启动程序(https://pub.dev/packages/url_launcher
1.进口
导入“包:url_launcher/url_launcher. dart”;
1.创建类似这样的方法;
小部件内部示例:

_launchInstagram() async {
    const nativeUrl = "instagram://user?username=severinas_app";
    const webUrl = "https://www.instagram.com/severinas_app/";
    if (await canLaunch(nativeUrl)) {
      await launch(nativeUrl);
    } else if (await canLaunch(webUrl)) {
      await launch(webUrl);
    } else {
      print("can't open Instagram");
    }
  }
smtd7mpg

smtd7mpg2#

好吧,我不知道是不是太晚了,但我用url_launcher库(只在android上测试过)可以做到:

var url = 'https://www.instagram.com/<INSTAGRAM_PROFILE>/';

if (await canLaunch(url)) {
  await launch(
    url,
    universalLinksOnly: true,
  );
} else {
  throw 'There was a problem to open the url: $url';
}
7rfyedvj

7rfyedvj3#

2022年更新:

_launchInstagram() async {
var nativeUrl = "instagram://user?username=balkan.exe";
var webUrl = "https://www.instagram.com/balkan.exe";

try {
  await launchUrlString(nativeUrl, mode: LaunchMode.externalApplication);
} catch (e) {
  print(e);
  await launchUrlString(webUrl, mode: LaunchMode.platformDefault);
}

}

ve7v8dk2

ve7v8dk24#

我不确定您是否可以启动配置文件Activity,除非您知道名称(将来可能会更改)。但是,如果您可以尝试使用Intent插件启动应用:
尝试添加Intent插件:https://pub.dev/packages/intent
在pubspec.yaml文件中添加Intent。
您可以使用软件包名称调用特定的应用程序(在本例中为Instagram)。

Intent()
    ..setAction(Action.ACTION_SHOW_APP_INFO)
    ..putExtra(Extra.EXTRA_PACKAGE_NAME, "instagram package name")
    ..startActivity().catchError((e) => print(e));

您也可以使用Android flutter插件的意图:https://pub.dev/packages/android_intent
这将支持Android:通过为Intent指定操作、类别、数据和额外参数来使用它。它不支持返回已启动Activity的结果
对于IOS url_launcher插件可用于深度链接

fcg9iug3

fcg9iug35#

您可以创建一个平台频道并使用Intent来实现该目的,或者使用social_share包。

o2gm4chl

o2gm4chl6#

1.安装url启动程序(https://pub.dev/packages/url_launcher
1.它们现在有了一个mode参数,您可以将其设置为LaunchMode.externalApplication;
1.用常规的https url调用它,如果他们安装了应用程序,它会打开应用程序,否则它会在Safari中打开。不要担心做应用程序链接和网站url,软件包和操作系统会相应地处理它。
例如,这里是我在应用程序的"关于"部分到我们社交活动的链接。

SettingsListTileModel(
// This can be any website's url that has a corresponding app, we us it with Twitter, Facebook, Instagram, and Youtube.
                onTap: () => launchUrl(
                    Uri.parse('https://www.instagram.com/forwheel_app/'),
                    mode: LaunchMode.externalApplication,
                ),
                title: Text(
                  'Instagram',
                  style: context.bodyLarge),
                ),
                trailing: Icon(
                  FontAwesomeIcons.squareArrowUpRight,
                ),
              ),

相关问题