url_launcher 5.4.1

  • Readme
  • Changelog
  • Example
  • Installing
  • 100

url_launcher #

pub package

Flutter插件,用于在移动平台中启动URL. 支持iOS和Android.

Usage #

要使用此插件,请将url_launcher作为依赖项添加到pubspec.yaml文件中 .

Example #

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
  runApp(Scaffold(
    body: Center(
      child: RaisedButton(
        onPressed: _launchURL,
        child: Text('Show Flutter homepage'),
      ),
    ),
  ));
}

_launchURL() async {
  const url = 'https://flutter.dev';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}

Supported URL schemes #

launch方法采用包含URL的字符串参数. 可以使用多种不同的URL格式设置此URL的格式. 支持的URL方案取决于基础平台和已安装的应用程序.

iOS和Android支持的常见方案:

SchemeAction
http:<URL>https:<URL> ,例如http://flutter.dev在默认浏览器中打开URL
mailto:<email address>?subject=<subject>&body=<body> ,例如mailto:smith@example.org?subject=News&body=New plugin创建电子邮件至
tel:<phone number> ,例如tel:+1 555 010 999拨打电话至
sms:<phone number> ,例如sms:5550101234发送短信给

可以在此处找到适用于iOSAndroid的更多详细信息

Handling missing URL receivers #

特定的移动设备可能无法接收所有支持的URL方案. 例如,平板电脑可能没有蜂窝无线电,因此不支持使用sms方案启动URL,或者设备可能不具有电子邮件应用程序,因此不支持使用email方案启动URL.

我们建议在调用launch之前使用canLaunch方法检查支持哪些URL方案. 如果canLaunch方法返回false,则作为最佳实践,我们建议调整应用程序UI,以使永远不会触发不受支持的URL; canLaunch ,请执行以下操作: 例如,如果不支持email方案,则可以更改将已发送电子邮件的UI按钮,以使用http方案之后的URL将用户重定向到网页.

Browser vs In-app Handling #

默认情况下,Android在处理URL时会打开浏览器. 您可以传递forceWebView:true参数来告诉插件改为打开WebView. 在iOS上,默认行为是在应用程序中打开所有Web URL. 其他所有内容都重定向到应用处理程序.

5.4.1 #

  • 更新单元测试以与来自plugin_platform_interface包的PlatformInterface一起使用.

5.4.0 #

  • 默认情况下支持macOS.

5.3.0 #

  • 默认情况下支持网络.
  • 使用新的插件pubspec模式.

5.2.7 #

  • 较小的单元测试已更改,并为公共DartDocs添加了皮棉.

5.2.6 #

  • 删除AndroidX警告.

5.2.5 #

  • 将生命周期依赖项包含为Android上的compileOnly,以解决与其他传递库的潜在版本冲突.

5.2.4 #

  • 使用package:url_launcher_platform_interface获取特定于平台的实现.

5.2.3 #

Android:在build.gradle使用android.arch.lifecycle而不是androidx.lifecycle:lifecycle支持尚未迁移到AndroidX的应用程序.

5.2.2 #

  • 使用正确的Flutter SDK约束重新嵌入Embedder v2支持.

5.2.1 #

  • 由于Flutter依赖性太低,请还原迁移.

5.2.0 #

  • 迁移插件以使用V2 Android引擎嵌入. 这不应影响现有功能. 使用V2嵌入的插件作者现在可以实例化该插件,并期望它可以正确响应应用程序生命周期的更改.

5.1.7 #

  • 定义iOS的clang模块.

5.1.6 #

  • 通过在android gradle.properties启用androidx和jetifier,修复了无法使用此插件构建androidx应用的错误.

5.1.5 #

  • 移至联合目录后,更新主页url.

5.1.4 #

  • 更新和迁移iOS示例项目.

5.1.3 #

  • 始终从iOS中最顶部的UIViewController启动url.

5.1.2 #

  • 更新AGP和gradle.
  • 拆分插件和WebViewActivity类文件.

5.1.1 #

  • 禁止在iOS上处理已弃用的警告

5.1.0 #

  • 添加headers字段以在Android实现中启用标头.

5.0.5 #

  • 添加enableDomStorage字段以launch以在Android WebView中启用DOM存储.

5.0.4 #

  • 更新Dart代码以符合当前的Dart格式化程序.

5.0.3 #

  • 将缺少的模板类型参数添加到invokeMethod调用中.
  • 将Flutter的最低版本提高到1.5.0.
  • 必要时,将invokeMethod替换为invokeMapMethod.

5.0.2 #

  • 修复了iOS上的closeWebView失败.

5.0.1 #

  • 在构建时记录有关先前AndroidX迁移的更详细的警告.

5.0.0 #

  • 零钱 . 从已弃用的原始Android支持库迁移到AndroidX. 这不应该导致任何功能上的变化,但是如果使用原始支持库的话,则要求使用此插件的所有Android应用程序也要迁移 .

    这最初是在4.2.0更新中错误地推送的.

4.2.0+3 #

  • 恢复最新的4.2.0更新 . 已知4.2.0已损坏,应该增加主版本号而不是次版本号. 然而,对于已经迁移的任何人来说,这种恢复本身都是破坏性的. 已将其应用迁移到AndroidX的任何人都应立即更新为5.0.0 . 那是4.2.0的正确版本的新推送.

4.2.0+2 #

  • 更新了launch以使用异步和等待,并通过launch方法修复了错误的返回值.

4.2.0+1 #

  • 重构了Java和Objective-C代码. 用Objective-C中的属性替换实例变量.

4.2.0 #

  • 不好 这是一个重大更改,在次要版本升级中错误地发布了该更改,这是永远不会发生的. 由4.2.0 + 3恢复.

  • 零钱 . 从已弃用的原始Android支持库迁移到AndroidX. 这不应该导致任何功能上的变化,但是如果使用原始支持库的话,则要求使用此插件的所有Android应用程序也要迁移 .

4.1.0+1 #

  • 这只是一个重新发布的版本,因为4.1.0是用一些肮脏的本地状态发布的.

4.1.0 #

  • Added universalLinksOnly setting.
  • 更新了launch以返回Future<bool> .

4.0.3 #

  • 修复了Android的启动URL失败:现在launch断言活动不是null并使用活动来launch活动的情况.
  • Fixed WebViewActivity has leaked IntentReceiver for Android.

4.0.2 #

  • 添加了closeWebView函数,以编程方式关闭当前WebView.

4.0.1 #

  • 添加了enableJavaScript字段以launch以在Android WebView中启用javascript.

4.0.0 #

  • 重大更改现在需要Flutter的最低版本为0.5.6.
  • 更新到statusBarBrightness字段,以便逻辑在Flutter端运行.
  • 重大更改 statusBarBrightness不再具有默认值.

3.0.3 #

  • 添加了statusBarBrightness字段以launch以设置iOS状态栏的亮度.

3.0.2 #

  • Updated Gradle tooling to match Android Studio 3.1.2.

3.0.1 #

  • 修复了在Safari视图控制器关闭时崩溃的问题.

3.0.0 #

  • 零钱 . 设置SDK约束以匹配Flutter beta版本.

2.0.2 #

  • 修复了Dart 2问题: launch现在返回Future<void>而不是Future<Null> .

2.0.1 #

  • 将Android项目模板简化并升级到Android SDK 27.
  • 更新了软件包说明.

2.0.0 #

  • 零钱 . 升级到Gradle 4.1和Android Studio Gradle插件3.0.1. 较早的Flutter项目也需要升级其Gradle设置才能使用此版本的插件. 说明可以在这里找到.

1.0.3 #

  • 将FLT前缀添加到iOS类型.

1.0.2 #

  • 修复Android WebView中URL的处理.

1.0.1 #

  • 支持选项,用于在iOS中启动默认浏览器.
  • 解析传入的URL并根据方案决定要打开的内容.
  • 在Android上支持WebView.

1.0.0 #

  • iOS插件提供了Safari视图控制器,而不是切换到Safari应用.

0.4.2+5 #

  • 将作者姓名与回购的其余部分对齐.

0.4.2+2, 0.4.2+3, 0.4.2+4 #

  • 更新了自述文件.

0.4.2+1 #

  • 更新了自述文件.

0.4.2 #

  • 更改为README.md.

0.4.1 #

  • 将Android SDK构建工具升级到25.0.3.

0.4.0 #

  • 升级到新的插件注册.

0.3.6 #

  • 修复了Xcode 7 / sdk版本9中动态检查失败的解决方法.

0.3.5 #

  • Xcode 7 / sdk版本9中动态检查失败的解决方法.

0.3.4 #

  • 添加测试.

0.3.3 #

  • 更改为buildToolsVersion.

0.3.2 #

  • 更改为README.md.

0.3.1 #

  • 更改为README.md.

0.3.0 #

  • Add canLaunch method.

0.2.0 #

  • launch更改为顶级方法,而不是类中的静态方法.

0.1.1 #

  • 更改为README.md.

0.1.0 #

  • 初始开源版本.

example/README.md

url_launcher_example #

演示如何使用url_launcher插件.

Getting Started #

要获得Flutter入门方面的帮助,请查看我们的在线文档 .

Use this package as a library

1. Depend on it

将此添加到包的pubspec.yaml文件中:


dependencies:
  url_launcher: ^5.4.1

2. Install it

您可以从命令行安装软件包:

使用Flutter:


$ flutter pub get

另外,您的编辑器可能支持flutter pub get . 查看您的编辑器文档以了解更多信息.

3. Import it

现在,在Dart代码中,您可以使用:


import 'package:url_launcher/url_launcher.dart';
  
Popularity:
描述该程序包相对于其他程序包的受欢迎程度. [更多]
100
Health:
从静态分析得出的代码运行状况. [更多]
100
Maintenance:
反映出软件包的整洁和最新状态. [更多]
100
Overall:
以上的加权分数. [更多]
100
了解有关得分的更多信息.

我们在2020年1月16日分析了此软件包,并在下面提供了得分,详细信息和建议. using: 分析已完成,状态使用以下命令 :

  • 飞镖:2.7.0
  • 高达:0.13.4
  • Flutter:1.12.13 + hotfix.5

Dependencies

Package Constraint Resolved Available
直接依赖
Dart SDK > = 2.0.0-dev.28.0 <3.0.0
flutter 0.0.0
url_launcher_macos ^0.0.1 0.0.1+2
url_launcher_platform_interface ^1.0.4 1.0.5
url_launcher_web ^0.1.0+1 0.1.0+2
传递依存关系
collection 1.14.11 1.14.12
flutter_web_plugins 0.0.0
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
开发依赖
flutter_test
mockito ^4.1.1
plugin_platform_interface ^1.0.0 1.0.1
test ^1.3.0

by  ICOPY.SITE