Flutter 앱 내에서 링크 열기
시작하자
새로운 플러터 프로젝트를 생성합니다. 내 launcher_app를 호출했습니다.
flutter create launcher_app
# This installs the latest version for us.
url_launcher:
AndroidManifest.xml
파일에 이 코드 줄을 추가합니다. 주석은 각 의도가 수행하는 작업을 설명합니다.
<queries>
<!-- If your app checks for https support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
<!-- If your app checks for http support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http" />
</intent>
<!-- If your app checks for SMS support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="sms" />
</intent>
<!-- If your app checks for call support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
</queries>
Info.plist
파일에 이 코드 줄을 추가합니다.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>https</string>
<string>http</string>
<string>sms</string>
<string>tel</string>
</array>
main.dart
import 'package:flutter/material.dart';
import 'package:launcher_app/home.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Launcher App',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.teal,
),
home: const HomeScreen(),
);
}
}
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Codenjobs app'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () async {
String url = 'https://codenjobs.com/';
final parseUrl = Uri.parse(url);
if (await canLaunchUrl(parseUrl)) {
await launchUrl(parseUrl,
mode: LaunchMode.inAppWebView,
webViewConfiguration: const WebViewConfiguration(
enableJavaScript: true,
));
}
},
child: const Text('Open Link'),
),
ElevatedButton(
onPressed: () async {
String url = 'tel:+233803458767';
final parseUrl = Uri.parse(url);
if (await canLaunchUrl(parseUrl)) {
await launchUrl(
parseUrl,
);
}
},
child: const Text('make phone call'),
),
ElevatedButton(
onPressed: () async {
String url = 'sms:+233803458767';
final parseUrl = Uri.parse(url);
if (await canLaunchUrl(parseUrl)) {
await launchUrl(
parseUrl,
);
}
},
child: const Text('Send Message'),
),
],
),
),
);
}
}
첫 번째 버튼은 inappwebview에서 codenjobs 웹사이트 링크를 열고 javascript를 활성화합니다.
이것이 이 기사의 전부입니다.
원래 codenjobs.com에 게시됨
https://github.com/Obikwelu/launcher_app에서 소스 코드를 얻을 수 있습니다.
codenjobs에서 저를 팔로우하는 것을 잊지 마세요.
Codenjobs는 개발자가 더 많은 일자리를 확보할 수 있도록 블록체인 및 암호화폐 공간에 생태계를 구축하고 있습니다. 여기about 페이지에서 코드 및 작업에 대해 자세히 알아볼 수 있습니다. 암호화에 정통한 경우 백서를 읽고 자세한 내용을 알고 프로젝트를 따를 수 있습니다. 코드 및 작업에 대한 최신 업데이트를 받으려면 아래 링크를 클릭하여 소셜 미디어 핸들에 가입하세요.
[x] Telegram : https://t.me/codenjobs
[엑스] :
[x] Discord : https://discord.gg/eWTXzPrsJ3
Reference
이 문제에 관하여(Flutter 앱 내에서 링크 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/franciscodex/opening-links-within-our-flutter-app-1gb3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)