How to open default email app inbox in flutter?

Solution 1:

I found the answer using flutter_appavailability library. For those who are searching for the answer please see the steps below.

  1. Add dependency | flutter_appavailability: "^0.0.21" | in pubspec.yaml (Please check the latest version in GitHub)

  2. Add below lines in Xcode Podfile which is required for building the library in iOS

    target 'Runner' do
      use_frameworks!  # required by simple_permission
      ...
    end
    
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['SWIFT_VERSION'] = '4.0'  # required by simple_permission
          config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
      end
    end
  1. Import below packages

    import 'dart:io'; import 'package:flutter_appavailability/flutter_appavailability.dart';

  2. Use below method

     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!")));
         }
     }