调用I18n.System.setSystemLanguage方法提示无权限
【问题描述】
- 介绍问题现象和发生的背景
- 在系统设置中,设置了prefer language后。在应用中调用getPreferredLanguageList,只能获取到当前选中的系统语言(在桌面的系统设置中,能看到中文和英文)
- 通过getSystemLanguages获取所有语言后(已添加UPDATE_CONFIGURATION权限),然后:
- 如果调用addPreferredLanguage,就报错:error code: 890001, message: Param value not valid. (传参是系统获取到的'zh-Hans')
- 如果调用setSystemLanguage,就报错:error code: 201, message: The application does not have permission to call this function.
- 相关的代码(请勿使用截图)
- 运行结果、错误截图
- 我尝试过的解决方法和结果
- 我想要达到的结果
就是一个简单的修改系统语言的需求,谁能告诉这玩意真的能跑吗
【运行环境】
硬件:
ROM版本:FULL
DevEvoStudio版本:4.1
SDK版本:4.1 |
|
|
|
|
您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱
问题1 err 890001,参数传递 zh-CN 试下
问题2 err 201,setSystemLanguage属于系统接口,除了添加权限配置之外,把 sdk\11\toolchains\lib\UnsgnedReleasedProfileTemplate.json 中的 apl 改为 system_core,app-feature 改为 hos_system_app,删除项目签名配置文本,再次自动签名运行试试看 |
|
|
|
|