9
votes

Comment obtenir le périphérique local après avoir changé le paramètre local de l'application

Je modifie les paramètres régionaux d'application basés sur le choix de l'utilisateur. Indépendant des paramètres régionaux.

en utilisant xxx

mais je veux savoir quel sera le paramètre de périphérique également.

Quand j'essaie d'obtenir Ceci, je reçois toujours les paramètres régionaux que j'ai définis à l'application.

ex: l'applictail est dans anglais et que le périphérique est dans Chinois . Je reçois toujours anglais .

pour obtenir des paramètres régionaux en utilisant,

Option 1. < / p> xxx

option 2. xxx

toute aide sera très appréciée !!!


4 Réponses :


6
votes

Je ne sais absolument pas comment portable ceci est à différents périphériques: xxx

et si vous voulez la partie de pays: persiste.sys.country


1 commentaires

Sur API Android (+21) au lieu d'utiliser persist.sys.language, utilisez persist.sys.locale



7
votes

J'ai demandé quelque chose de similaire et trouvé cette réponse, désolé s'il est tard:

Pour trouver le système locale Utilisez: P>

defaultLocale = Resources.getSystem().getConfiguration().locale;


0 commentaires

0
votes

Pour ceux qui utilisent Daniel Fekete Code> S solution qui est:

exec = Runtime.getRuntime().exec(new String[]{"getprop", "persist.sys.locale"});
locale = new BufferedReader(new InputStreamReader(exec.getInputStream())).readLine();
exec.destroy();


0 commentaires

1
votes

Si vous devez prendre en charge ci-dessous Android 7.0 - Nougat (niveau d'API 24), vous pouvez utiliser quelque chose comme ceci:

@SuppressWarnings("deprecation")
@SuppressLint("NewApi")
// ToDo: Adjust this method once the target API is 24 or higher!
private Locale getLocale()
{
  if(Build.VERSION.SDK_INT >= 24)
  {
    return Resources.getSystem().getConfiguration().getLocales().get(0);
  }

  else
  {
    return Resources.getSystem().getConfiguration().locale;
  }
}


0 commentaires