【问题标题】:Is there any way to identify that a particular application is installed in my android/ios device through flutter and dart?有没有办法通过颤振和飞镖识别特定应用程序安装在我的 android/ios 设备中?
【发布时间】:2019-11-30 03:14:31
【问题描述】:

我有一个应用程序管理员创建用户帐户的要求。

创建用户帐户后,将向用户发送一封电子邮件。在这封电子邮件中,为用户提供了一个超链接。当他/她单击此链接时,将采取以下操作-

  1. 确定设备上是否安装了请求的应用程序。
  2. 如果已安装,则重定向到应用程序的密码设置屏幕。
  3. 如果未安装,则将用户重定向到 Play 商店/App Store 以下载请求的应用程序。下载完成后跳转到密码设置界面。

谢谢。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您还可以使用flutter_appavailibilty 插件来检查是否安装了应用程序。从 pub.dev 页面:

    if (Platform.isAndroid) {
    
      _installedApps = await AppAvailability.getInstalledApps();
    
      print(await AppAvailability.checkAvailability("com.android.chrome"));
      // Returns: Map<String, String>{app_name: Chrome, package_name: com.android.chrome, versionCode: null, version_name: 55.0.2883.91}
    
      print(await AppAvailability.isAppEnabled("com.android.chrome"));
      // Returns: true
    
    }
    

    与其他软件包一样,这个软件包目前也不支持 iOS。

    【讨论】:

    • 现在这个包支持 IOS,但它没有选择 null 安全。
    【解决方案2】:

    对于第 1 点,您可以使用 device_apps 插件来检查是否安装了应用程序(虽然 iOS 不支持!):https://pub.dev/packages/device_apps

    第 2 点可以使用 uni_links 包实现:
    https://pub.dev/packages/uni_links

    但是在未安装应用的情况下,在iOS上打开苹果应用商店似乎有问题。
    这篇文章可能会有所帮助:
    How to implement deep linking in flutter, with redirect to app store?

    希望这些链接对您有所帮助并祝您好运

    【讨论】:

    • 目前device_apps包不支持iOS
    • device_apps 插件不支持iOS
    猜你喜欢
    • 2019-02-19
    • 1970-01-01
    • 2020-10-16
    • 2018-11-02
    • 2019-08-02
    • 1970-01-01
    • 2021-02-27
    • 2019-06-26
    • 1970-01-01
    相关资源
    最近更新 更多