Zuverlässige Methode, um das Land zu ermitteln, in dem sich der Benutzer befindet?

Ich erhalte das Land normalerweise aus der Sprache des Geräts. Es funktioniert, aber jetzt muss ich Brasilien erkennen. Und die meisten Geräte haben nur die Option Portugiesisch (pt_PT) und keine Option Portugiesisch (Brasilien).

Ich habe diesen Thread überprüft:Wo bin ich? - Land holen

Die Methoden

 String locale = context.getResources().getConfiguration().locale.getCountry();

 String locale = context.getResources().getConfiguration().locale.getDisplayCountry();

Sind immer noch nur Sprache, hilft nicht.

Es gibt auch den Vorschlag mit der SIM-Karte, aber ich bin nicht sicher, ob dies zuverlässig funktioniert (haben alle SIM-Karten diese eindeutige Identifikation?), Es ist auch ein bisschen nicht genau das, was ich brauche, weil der Benutzer es nicht ändern kann (was der Fall ist, wenn es sich um eine Einstellung handelt). Benutzer, die ein Gerät ohne SIM-Karte verwenden, werden davon ausgeschlossen (möglicherweise verwenden sie nur WLAN).

Es gibt auch Geolocation-Vorschläge, aber dies funktioniert wahrscheinlich nicht auf Geräten, die es deaktiviert haben. Oder liege ich falsch?

Wenn nichts anderes hilft, würde ich in meiner App eine Dialog- oder Menüeinstellung vornehmen, damit der Benutzer sie dort auswählen kann. Aber ich möchte zunächst bestätigen, ob es eine verlässliche Möglichkeit mit dem Gerät gibt.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage