【发布时间】:2016-05-10 07:59:56
【问题描述】:
问题是谷歌地图保留了它首次打开时的语言。例如,我有 2 个活动(活动 A 和活动 B)。活动 A 包含设置页面,我在其中将语言更改为该活动。请注意,它不是系统语言,而是使用Locale.setDefault()。这成功地翻译了我的应用程序,文本没有问题,除了谷歌地图语言。 Activity B 由我在其中显示地图的 MapFragment 组成。
当我以 English 语言启动 MapActivity 时,地图显示 English 语言。当我回到 Activity A 并更改语言,然后再次打开 MapActivity 时,地图会保留英语语言,就像从后台进程中保存其实例一样。
我的调查是,谷歌地图语言基于地图呈现的第一种语言,除非应用程序完全关闭,否则它将保留。
有人可以帮我解决这个问题,根据我的设置页面中设置的语言环境更改谷歌地图语言。到目前为止我尝试的是清除缓存(我的应用程序和谷歌服务)并通过激活SupportMapFragment 的useViewLifeCycleInFragments 并使用片段生命周期来销毁片段。
谢谢。
更新
仍然无法翻译谷歌地图:
我尝试过的:
关闭 google play 服务进程 -> 不工作(不可能)
使用 2 个地图片段 -> 不工作,它将加载相同的地图
【问题讨论】:
-
如果您在开发者选项中激活“不保留活动”,行为会改变吗?
-
您是否也在使用 getBaseContext().getResources().updateConfiguration 进行更改?如果您在参加活动 B 之前更改语言会发生什么?
-
@pablobu 在我的语言环境助手中是的
-
@SecretCoder 你找到解决方案了吗?我有一个类似的问题。我不想如下所述覆盖图块。
-
@Hollywood 到目前为止没有解决方案,只是很幸运客户认为它是这样的:D
标签: android google-maps google-maps-android-api-2