dart flutter mailto和url_launcher不工作

nkoocmlb  于 2023-07-31  发布在  Flutter
关注(0)|答案(2)|浏览(176)

我想使用电子邮件,我使用这两个软件包:

url_launcher: ^6.0.20
  mailto: ^2.0.0

字符串
我使用这个代码:

launchMailto() async {
  final mailtoLink = Mailto(
    to: ['to@example.com'],
    cc: ['cc1@example.com', 'cc2@example.com'],
    subject: 'mailto example subject',
    body: 'mailto example body',
  );
  await launch('$mailtoLink');
}


但它不工作
有人可以帮助我,请我如何使用mailto在我的项目?
顺便说一句,当我改变我的android清单时,我的成绩无法运行,我的项目被破坏

o7jaxewo

o7jaxewo1#

试试下面的代码

sendMail() async {
  const url = 'mailto:youremailid.com';
  launchUrl(
    Uri.parse(url),
  ),
}

字符串
您的小工具:

ElevatedButton (
   child: Text(
    ' Send Mail',
    style: TextStyle(fontSize: 15, color: Colors.blue),
  ),
  onPressed: sendMail,
),

lhcgjxsq

lhcgjxsq2#

根据文档,您必须配置清单和infoplis文件。
你应该有这样的东西:
AndroidManifest.xml -请注意,每个方案必须在一个意图中声明,而不是与其他意图相同

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="YOUR_PACKAGE">

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.android.vending.BILLING" />

    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="https" />
        </intent>
        <intent>
            <data android:scheme="mailto" />
        </intent>
    </queries>
    
    <application
      /// Your application
    </application>
</manifest>

字符串
Info.plist

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>https</string>
    <string>mailto</string>
</array>

相关问题