opt: launchUrl

This commit is contained in:
bggRGjQaUbCoE
2024-10-06 12:20:44 +08:00
parent 7c0347c28d
commit 3fa2896499
4 changed files with 10 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/http/user.dart';
import 'package:PiliPalaX/pages/common/common_controller.dart';
import 'package:PiliPalaX/pages/video/detail/introduction/controller.dart';
import 'package:PiliPalaX/utils/utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -332,7 +333,7 @@ class BangumiIntroController extends CommonController {
),
onTap: () {
Get.back();
launchUrl(Uri.parse(videoUrl));
Utils.launchURL(videoUrl);
},
),
ListTile(

View File

@@ -2,6 +2,7 @@ import 'dart:async';
import 'dart:math';
import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/utils/utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -440,7 +441,7 @@ class VideoIntroController extends GetxController {
),
onTap: () {
Get.back();
launchUrl(Uri.parse(videoUrl));
Utils.launchURL(videoUrl);
},
),
ListTile(

View File

@@ -1,3 +1,4 @@
import 'package:PiliPalaX/utils/utils.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
@@ -47,7 +48,7 @@ class _WebviewPageState extends State<WebviewPage> {
IconButton(
tooltip: '用外部浏览器打开',
onPressed: () {
launchUrl(Uri.parse(_webviewController.url));
Utils.launchURL(_webviewController.url);
},
icon: Icon(Icons.open_in_browser_outlined,
color: Theme.of(context).colorScheme.primary),

View File

@@ -91,7 +91,10 @@ class Utils {
static launchURL(String url) async {
try {
final Uri uri = Uri.parse(url);
if (!await launchUrl(uri)) {
if (!await launchUrl(
uri,
mode: LaunchMode.externalApplication,
)) {
SmartDialog.showToast('Could not launch $url');
}
} catch (e) {