如何在Flutter中打开默认的电子邮件应用程序收件箱?

Tel*_*hew 2 flutter

我想使用Flutter打开默认的电子邮件应用程序“收件箱”屏幕。我们可以使用url启动器通过mailto:url打开电子邮件撰写屏幕。但这会打开撰写屏幕。我要打开收件箱屏幕。我找不到适合的文档。

Tel*_*hew 5

我使用flutter_appavailability库找到了答案。对于那些正在寻找答案的人,请参见以下步骤。

  1. 添加依赖项| flutter_appavailability:“ ^ 0.0.21” | 在pubspec.yaml中(请在GitHub中检查最新版本)

  2. 在Xcode Podfile中添加以下行,这是在iOS中构建库所必需的

    目标'Runner'做use_frameworks!#simple_permission需要的...结束

    post_install做|安装程序| installer.pods_project.targets.each做| target | target.build_configurations.each | config | config.build_settings ['SWIFT_VERSION'] ='4.0'#simple_permission所需的值config.build_settings ['ENABLE_BITCODE'] ='NO'结束结束结束

  3. 导入以下软件包

    导入'dart:io'; 导入'package:flutter_appavailability / flutter_appavailability.dart';

  4. 使用以下方法

    void openEmailApp(BuildContext context){
        try{
            AppAvailability.launchApp(Platform.isIOS ? "message://" : "com.google.android.gm").then((_) {
                    print("App Email launched!");
                  }).catchError((err) {
                    Scaffold.of(context).showSnackBar(SnackBar(
                        content: Text("App Email not found!")
                    ));
                    print(err);
                  });
        } catch(e) {
          Scaffold.of(context).showSnackBar(SnackBar(content: Text("Email App not found!")));
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

  • AppAvailability 是一个过时的插件,如果您使用它,它将在您发布构建时生成。所以请避免使用这个插件 (2认同)