为什么Flutter打包后permission_handler失效了?

发布于 2022-09-12 13:23:45 字数 1939 浏览 14 评论 0

因为项目需要用到定位、相机、麦克风权限,所以调用了permission_handler库来实现。

但是在正常调试时没有出现任何问题,能够弹出获取权限的对话框也能够正常获取各项权限;

而使用命令flutter build apk后打包生成的app-release.apk没有弹出获取权限的对话框也不会获取权限。

使用permission_handler的代码:

void getLocation() async {
    // 申请权限 定位权限
    if (await Permission.location.request().isGranted) {
      await AMapLocationClient.getLocation(true).then((_) {
        this.lat = _.latitude;
        this.lon = _.longitude;
      });
    }
}

Future<void> _handleCameraAndMic() async {
    // 申请权限
    await [Permission.camera, Permission.microphone, Permission.storage]
        .request();
}

在AndroidManifest.xml中也有配置权限:

<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET" />
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--用于写入缓存数据到扩展存储卡-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

另外,在曾经测试中这些权限能够正常获取过,从某一版开始后才发现这一问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒解孤独 2022-09-19 13:23:45

自问自答:
在官方的GitHub中找到了答案
https://blog.csdn.net/weixin_...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文