Flutter中Url Launcher在真机上无法正常工作问题求助
解决Url Launcher在Android物理设备无法跳转的问题
模拟器能正常跳转但物理设备不行,核心问题大概率是Android 11及以上版本的权限限制导致应用无法查询到可用的浏览器应用。结合你给出的AndroidManifest.xml配置,补充以下配置即可解决:
方案1:添加全局查询权限(快速解决)
在现有<uses-permission>节点下新增:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
方案2:添加定向查询配置(更合规,推荐)
如果不想用宽泛的全局权限,可针对常用浏览器添加定向查询规则,在<manifest>标签内与<uses-permission>同级添加:
<queries> <!-- 允许查询Chrome浏览器 --> <package android:name="com.android.chrome" /> <!-- 允许查询系统默认Chrome --> <package android:name="com.google.android.apps.chrome" /> <!-- 允许查询Firefox浏览器 --> <package android:name="org.mozilla.firefox" /> <!-- 按需添加其他常用浏览器包名 --> </queries>
额外检查项
- 执行
flutter pub upgrade url_launcher确保依赖是最新版本 - 确认物理设备上的浏览器未被禁用、能正常打开网页
- 跳转的URL必须是完整格式,比如
https://www.example.com,不能省略http/https前缀
内容的提问来源于stack exchange,提问作者iSaber
相关产品推荐
相关产品推荐

