hermo
hermo

Reputation: 515

How to force launching an app with a specific locale

Changing the locale for a device is done in the settings, and can't be done by an app as far as I know.

I know how to force my own app to a specific locale, described here

Can I force, programmatically, the locale of an activity that isn't mine?

I can imagine two 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).

I guess 2. would be more direct, but require some kind of permission (e.g. the modified activity 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 I'm hoping some undocumented feature might enable this.

Upvotes: 7

Views: 3440

Answers (2)

Janusz
Janusz

Reputation: 189534

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.

Upvotes: -1

zed_0xff
zed_0xff

Reputation: 33227

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.

Upvotes: 2

Related Questions