Эта проблема возникает, если я запускаю APK на своем мобильном телефоне, но если я запускаю приложение в своей системе для отладки в Chrome, ссылка на YouTube работает, и открывается новая страница с веб-сайт YouTube.
Почему это происходит и что я могу сделать, чтобы устранить эту ошибку?
У меня есть следующий экран, и при нажатии на первое изображение должно открыться приложение YouTube с видео, на которое есть ссылка. [img]https://i.sstatic.net/iVox52pj.jpg[/img]
Но когда я нажимаю кнопку, приложение YouTube не открывается, а выдается следующее войдите в консоль. [code]E/flutter (29668): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Could not launch youtu.be/ldFhZOXVR2g E/flutter (29668): #0 _FreeListScreen.build. (package:reema_swad_cooking_class/freelist.dart:34:19) E/flutter (29668): E/flutter (29668): [/code] Ниже приведен код, который я использую для приложения. [code]import 'package:reema_swad_cooking_class/bottomnavigationbar.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:flutter/material.dart'; import 'appbar.dart';
class FreeListScreen extends StatefulWidget { const FreeListScreen({super.key});
@override State createState() => _FreeListScreen(); }
class _FreeListScreen extends State { String getCourseIdFromImageName(String imageName) { String courseId = imageName.replaceAll(RegExp(r'[^0-9]'), ''); return courseId; }
@override Widget build(BuildContext) { return Scaffold( appBar: CustomAppBar(), bottomNavigationBar: CustomBottomNavigationBar(), body: SingleChildScrollView( child: Column( children: [ GestureDetector( onTap: () async { const youtubelink = "https://www.youtube.com/watch?v=ldFhZOXVR2g&t=17s"; final Uri youtubeUri = Uri.parse(youtubelink); if (await canLaunchUrl(youtubeUri)) { await launchUrl(youtubeUri); } else { throw 'Could not launch $youtubelink'; } }, child: Card( elevation: 4, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), ), margin: const EdgeInsets.all(15), child: ClipRRect( borderRadius: BorderRadius.circular(12), child: SizedBox( height: 200, width: double.infinity, child: Image.network( "", errorBuilder: (context, error, stackTrace) { return Text('Error loading image: ${error.toString()}'); }, fit: BoxFit.cover, ), ), ), ), ), GestureDetector( onTap: () {}, child: Card( elevation: 4, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), ), margin: const EdgeInsets.all(15), child: ClipRRect( borderRadius: BorderRadius.circular(12), child: SizedBox( height: 200, width: double.infinity, child: Image.network( "", errorBuilder: (context, error, stackTrace) { return Text('Error loading image: ${error.toString()}'); }, fit: BoxFit.cover, ), ), ), ), ), ], ), ), ); } } [/code] Эта проблема возникает, если я запускаю APK на своем мобильном телефоне, но если я запускаю приложение в своей системе для отладки в Chrome, ссылка на YouTube работает, и открывается новая страница с веб-сайт YouTube. Почему это происходит и что я могу сделать, чтобы устранить эту ошибку?