调用I18n.System.setSystemLanguage方法提示无权限

shuigongping 显示全部楼层 发表于 2024-9-2 15:26:19

【问题描述】

  1. 介绍问题现象和发生的背景
    1. 在系统设置中,设置了prefer language后。在应用中调用getPreferredLanguageList,只能获取到当前选中的系统语言(在桌面的系统设置中,能看到中文和英文)
    2. 通过getSystemLanguages获取所有语言后(已添加UPDATE_CONFIGURATION权限),然后:
      1. 如果调用addPreferredLanguage,就报错:error code: 890001, message: Param value not valid. (传参是系统获取到的'zh-Hans')
      2. 如果调用setSystemLanguage,就报错:error code: 201, message: The application does not have permission to call this function.
  2. 相关的代码(请勿使用截图)
  3. 运行结果、错误截图
  4. 我尝试过的解决方法和结果
  5. 我想要达到的结果 就是一个简单的修改系统语言的需求,谁能告诉这玩意真的能跑吗

【运行环境】

硬件: ROM版本:FULL DevEvoStudio版本:4.1 SDK版本:4.1

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

westinyang

沙发 发表于 2024-9-3 12:11:29
问题1 err 890001,参数传递 zh-CN 试下
问题2 err 201,setSystemLanguage属于系统接口,除了添加权限配置之外,把 sdk\11\toolchains\lib\UnsgnedReleasedProfileTemplate.json 中的 apl 改为 system_core,app-feature 改为 hos_system_app,删除项目签名配置文本,再次自动签名运行试试看

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部