Launch app with specific locale

依然范特西╮ 提交于 2020-01-24 03:07:08

问题


Changing the locale for a device is done in the settings, and can't be done by an app AFAIK. I know how to force my own app to a specific locale, described e.g. here:

http://www.tutorialforandroid.com/2009/01/force-localize-application-on-android.html

So now to my question. Can I force, programatically, the local of an activity that isn't mine?

I can imagine 2 ways this could be possible:

  1. Specifying the locale in an Intent used to start the activity.
  2. Access and manipulate the configuration of running activities (in the same way as I can modify my own activities' configurations).

Any thoughts? Is it possible? Is it reasonable? I guess 2. would be more direct, but require some kind of permission (e.g. the modified atcitiy must allow it in the manifest file). But I'd settle for 1. or similar.

What I want is to be able to see certain apps in a different language, but rather not change the system locale. E.g. the Android Market, that only displays comments in one language. Can't think of other things right now.

Can't find much written on Locale in the documentation, what is and isn't possible. But hoping some undocumented feature might enable this :)


回答1:


You can't unless the activity you are calling accepts a special locale parameter.

So, you can implement this with two of your own apps, or with the app of your friend, but there's no general way of doing this.




回答2:


The only way I can imagine is to programatically change the locale of the whole device. But I think you can only open up the preference screen and need the user to choose the correct locale before starting the app.



来源:https://stackoverflow.com/questions/3012004/launch-app-with-specific-locale

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!