gpt4 book ai didi

android - 使用 flutter 启动时不会传播权限请求,但直接使用 android 启动时会传播

转载 作者:IT王子 更新时间:2023-10-29 06:36:53 25 4
gpt4 key购买 nike

我尝试请求在 Flutter 应用程序中使用位置数据的权限。我正在使用 geolocator插件和 permission_handler .两者都添加到我的 pubspec.yaml

我还补充了

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

到我的 android/app/src/main/AndroidManifest.xml

当我启动我的应用程序时,我做的第一件事是

PermissionHandler().requestPermissions([PermissionGroup.location]).then((val) {
...
});

如果我随后在模拟器或我的手机上运行它,它会返回一个 PermissionStatus.unknown 并且随后调用 GeoLocator() 会向控制台发送垃圾邮件

No permissions found in manifest for: $permission 

如果我进入应用程序设置,它说没有请求特殊权限。

然后当我打开与 Android 项目完全相同的项目时(我都使用 Android Studio,有一个简洁的下拉选项可以在 Android Studio 中打开 Android 项目)并在我的手机上运行它,它按预期工作 -它会请求许可,如果我进入应用程序设置,我也可以在那里看到请求的许可。

任何人都知道为什么它不会随着 flutter 被“传播”?

最佳答案

似乎主要问题是 AndroidManifest.xml 在重新启动应用程序时没有更新。但是,如果首先执行 flutter clean 然后重建它,AndroidManifest.xml 会更新。

我不确定这是否是预期的行为,但它确实有效。只是一些要记住的东西。

关于android - 使用 flutter 启动时不会传播权限请求,但直接使用 android 启动时会传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55407939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com