更改运行时权限的语言

Posted

技术标签:

【中文标题】更改运行时权限的语言【英文标题】:change the language of runtime permission 【发布时间】:2016-03-16 11:14:00 【问题描述】:

如何在android中?

当我尝试使用

更改语言时
Configuration config = getBaseContext().getResources().getConfiguration();
        locale = new Locale(lang);
        Locale.setDefault(locale);
        Configuration conf = new Configuration(config);
        conf.locale = locale;
        getBaseContext().getResources().updateConfiguration(conf, getBaseContext().getResources().getDisplayMetrics());

它改变了应用程序的语言,但相机的权限,这样的对话框只以英文显示。

有什么办法可以更改权限对话框语言?

【问题讨论】:

【参考方案1】:

有没有办法改变权限对话框语言?

让用户更改他们的设备语言。

您的方法最多会改变应用进程使用的语言(尽管在 Android N 上可能会改变)。任何系统提供的 UI(例如权限对话框)都将使用用户为其设备选择的语言。

【讨论】:

应用程序语言已更改,但相机请求权限等权限对话框不会更改。它仅显示英文。 @krishnachaitanya:正确。正如我在回答中所写,任何系统提供的 UI,例如权限对话框,都将使用用户为其设备选择的语言。你不能影响这个。 Facebook 应用程序无需用户更改设备语言即可执行此操作。 IE。将 facebook 应用程序中的语言更改为中文,然后单击照片选择器 - 系统将提示您输入中文权限(带有系统对话框)。所以这个答案似乎不正确。 @jt-gilkeson:也许 Facebook 正在利用该设备上的一些安全漏洞。【参考方案2】:

为此,您需要在更改应用程序语言之前或之后创建自己的对话框或更改手机的语言。

【讨论】:

我不明白我们可以为运行时权限创建自定义对话框吗?或者用户需要更改设备设置? 您需要更改设备设置。无法创建权限对话框。

以上是关于更改运行时权限的语言的主要内容,如果未能解决你的问题,请参考以下文章

权限 - 如何在运行时运行 MIUI 的手机中请求和/或更改它们?

在运行时通过 chmod 更改权限,出现“不允许操作”错误

Android Marshmallow:在运行时更改权限会使应用程序崩溃

如何在 Android M 或更高版本中在运行时更改权限时防止重新创建 Activity

更改文件权限会导致 IdentityNotMappedException(在 Web 服务器上运行代码时)

React Native SDK 运行时权限错误