我正在构建一个Flutter应用程序,我想在Web浏览器或浏览器窗口中打开一个URL(响应按钮点击).我怎样才能做到这一点?
您好,我尝试使用 Recipent 启动电子邮件页面。我尝试了使用 android 但不适用于我的 ios 的 flutter 电子邮件发件人。所以我尝试使用 url 启动器来做同样的事情,但不适用于 iOS。我使用iOS模拟器,问题可能是这个?
我使用这个 url 启动器的例子
mailto:xxxxx@xxxxx.com?subject=News&body=New%20plugin
Run Code Online (Sandbox Code Playgroud)
我有这个错误
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: Could not launch mailto:xxxx@xxxx.com?subject=News&body=New%20plugin
#0 _menuscreenState._launchURL (package:xxxx/bottom.dart:8285:7)
<asynchronous suspension>
#1 _menuscreenState.build.<anonymous closure>.<anonymous closure> (package:xxxx/bottom.dart:8705:13)
Run Code Online (Sandbox Code Playgroud)
这是带有 url 启动器的完整示例
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String email="contact@ouiquit.com";
_launchEmail() async {
if (await canLaunch("mailto:$email")) {
await launch("mailto:$email");
} else {
throw 'Could not launch';
} …Run Code Online (Sandbox Code Playgroud) 我正在使用 url_launcher 页面中的文档:https://pub.dev/packages/url_launcher#android
AndroidManifest.xml:
<queries>
<!-- other intents ... -->
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="*/*" />
</intent>
</queries>
Run Code Online (Sandbox Code Playgroud)
代码:
final Uri emailLaunchUri = Uri(
scheme: 'mailto',
path: 'smith@example.com',
);
launch(emailLaunchUri.toString());
Run Code Online (Sandbox Code Playgroud)
并得到下一个错误:
E/flutter (11956): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(ACTIVITY_NOT_FOUND, No Activity found to handle intent { mailto:smith@example.com }, null, null)
E/flutter (11956): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
E/flutter (11956): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:18)
E/flutter (11956): <asynchronous suspension>
E/flutter (11956): #2 launch (package:url_launcher/url_launcher.dart:99:23)
E/flutter (11956): <asynchronous suspension>
E/flutter (11956): #3 MoreTab.build.<anonymous closure> (package:app/screens/fixtures_screen/more_tab/more_tab.dart:34:13)
E/flutter …Run Code Online (Sandbox Code Playgroud) 我想使用Flutter打开默认的电子邮件应用程序“收件箱”屏幕。我们可以使用url启动器通过mailto:url打开电子邮件撰写屏幕。但这会打开撰写屏幕。我要打开收件箱屏幕。我找不到适合的文档。