6***@qq.com
6***@qq.com
  • 发布:2022-08-03 09:27
  • 更新:2023-01-30 16:01
  • 阅读:1372

【报Bug】uni.setLocale()会重启APP应用,并且如果之前的位置授权是使用期间授权,切换语言后,还会自动弹出位置权限授权

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.4.18

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: mate 30 pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

  methods: {  
    change(val) {  
      this.language = val;  
      setLanguage(val);  
      uni.setLocale(val);  
    },  
  },

操作步骤:
 "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",  
 "<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",  
 "<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>",  
 "<uses-permission android:name=\"android.permission.BLUETOOTH_PRIVILEGED\"/>"  

以上是我配置的权限,主要调用蓝牙和位置功能,其中位置功能如果是使用期间允许的话,我切换语言,APP会重启,并且会弹窗重新授权位置权限,可能是华为手机有

预期结果:

我期望的是APP不进行重启或者重启后不进行新的授权

实际结果:

APP进行重启,并且使用期间允许的位置许可,系统进行了新的权限索取,云打包后会出现这个环境

bug描述:

uni.setLocale()会重启APP应用,并且如果之前的位置授权是使用期间授权,切换语言后,还会自动弹出位置权限授权. 定位权限开启后开发环境下定位会弹出三次,如果只选择使用期间允许,并且打包后 重新设置语言还会再次弹出
开发环境下,会弹出三个位置授权弹窗,并且 切换语言不会再次弹出位置授权,但是云打包后,切换语言会再一次弹出位置授权弹出

2022-08-03 09:27 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

设置语言,不重启怎么切换?

  • 6***@qq.com (作者)

    底层 我也不太清楚,微信都不需要重启微信,就可以切换的

    2022-08-03 14:12

  • 6***@qq.com (作者)

    原生的应该都不需要重启的 只是切换语言包就可以了

    2022-08-03 14:12

  • 6***@qq.com (作者)

    但是我们如果自己做的话 很多组件我们也改不了

    2022-08-03 14:13

zhaoyu2020

zhaoyu2020 - 一只小小鸟

主要是set会重启的话, 这个set在哪里使用合适 ?

例如: 打开app > 进入app > 请求api 获取语言 > set >重启app

这样不是很怪异吗?

  • 昭昭L

    通常这种操作都是用户主动切换吧

    2023-07-05 22:32

  • zhaoyu2020

    回复 昭昭L: 所以现在没主动也重启了

    2023-07-06 10:14

  • zhaoyu2020

    或者说是不是切换了语言就必须重启,是的话 ,项目的第一个语言怎么设置

    2023-07-06 10:15

  • jiojio213

    回复 zhaoyu2020: 第一个语言应该是跟随系统或宿主机的语言

    2023-08-07 13:19

  • zhaoyu2020

    回复 6***@qq.com: 但需求就是第一个并不是系统的语言

    2023-08-09 11:07

要回复问题请先登录注册