Flutter 使用 url_launcher的canLaunchUrl() 方法总是返回false错误

Flutter 使用 url_launcher的canLaunchUrl() 方法总是返回false错误

众所周知,我们一般使用url_launcher来打开各种应用,网页,手机应用等....

但是最近发现Flutter的canLaunchUrl()方法总是返回false,这是为什么呢?

原因:

自从Android SDK 30 或 以上为了更加安全,需要在AndroidManifest.xml声明可访问包名和scheme

总的来说,现在Android也类似于IOS一样,需要事先声明打开其他APP的通道可包名了

解决办法:

以高德地图,百度地图为例:

AndroidManifest.xml

xml 复制代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="xxxxxx">

         <queries>
                 <!-- 需要检查的包名 -->

                <!-- 高德地图 -->
                <package android:name="com.autonavi.minimap" />  
                <!-- 百度地图 -->
                <package android:name="com.baidu.BaiduMap" />  

                <!-- Scheme匹配 -->
                <!-- 高德地图scheme -->
                <intent>
                        <action android:name="com.autonavi.minimap" />
                        <data android:scheme="amap" />
                </intent>
                <!-- 百度地图scheme -->
                <intent>
                        <action android:name="com.baidu.BaiduMap" />
                        <data android:scheme="baidumap" />
                </intent>
        </queries>

声明后,canLaunchUrl()便会返回true,即可打开APP,使用其功能

相关推荐
江上清风山间明月1 天前
Flutter开发的应用页面非常多时如何高效管理路由
android·flutter·路由·页面管理·routes·ongenerateroute
Zsnoin能2 天前
flutter国际化、主题配置、视频播放器UI、扫码功能、水波纹问题
flutter
早起的年轻人2 天前
Flutter CupertinoNavigationBar iOS 风格导航栏的组件
flutter·ios
HappyAcmen2 天前
关于Flutter前端面试题及其答案解析
前端·flutter
coooliang2 天前
Flutter 中的单例模式
javascript·flutter·单例模式
coooliang2 天前
Flutter项目中设置安卓启动页
android·flutter
JIngles1232 天前
flutter将utf-8编码的字节序列转换为中英文字符串
java·javascript·flutter
B.-2 天前
在 Flutter 中实现文件读写
开发语言·学习·flutter·android studio·xcode
freflying11192 天前
使用jenkins构建Android+Flutter项目依赖自动升级带来兼容性问题及Jenkins构建速度慢问题解决
android·flutter·jenkins
机器瓦力3 天前
Flutter应用开发:对象存储管理图片
flutter