PhoneGap - Der beste Weg, um den Country -ISO -Code eines Benutzers zu entdecken

StackOverflow https://stackoverflow.com/questions/4578347

  •  14-10-2019
  •  | 
  •  

Frage

Was ist der beste und schnellste Weg, um den Country -ISO -Code zu erhalten, indem Sie einen App -Build mit PhoneGap starten? Es gibt eine Funktion, um die GEO -Koordinaten zu erhalten, aber nicht den ISO -Code. Um den ISO -Code zu erhalten, ist es möglicherweise notwendig, einen externen Webservice anzurufen und den ISO durch bestimmte Koordinaten zu erhalten. Gibt es einen einfachsten Weg?

Danke Nik

War es hilfreich?

Lösung

Suchen Sie nach dem Moment, an dem sich der Benutzer gerade befindet, oder für etwas mehr wie die Sprache/Nationallität der Benutzer? Für letztere konnten Sie sich immer ansehen, was sich befindet navigator.language. Abhängig von der Zielplattform erhalten Sie entweder nur Sprachcode ('EN' auf meinem Android-Testgerät) oder Sprachcode und Ländercode ('en-us' auf meinem iOS-Testgerät). Um zu sehen, was es Ihnen geben wird, gehen Sie mit dem Aktienbrowser Ihres Geräts hier und tippen Sie ein navigator.language Im Texteingangsfeld.

Ansonsten lässiges Surfen von Die HTML5 -Geolokalisierungsspezifikation Es scheint anzuzeigen, dass Sie entweder einen Web-Service benötigen oder eine Datendatei mit Codes in der App verpacken. Dies Scheint ziemlich gut zu sein.

Andere Tipps

Ich fand Navigator. Um dies in Android zu lösen, habe ich eine neue Java -Klasse in SRC/COM namens DeviceCulture.java mit diesem Code erstellt:

package com;
import java.util.Locale;

public class DeviceCulture {

    public String get() {
        try{            
            return Locale.getDefault().toString();//get the locale from the Android Device      
        }catch(Exception e){
            return "";
        }   
    }
}

Fügen Sie dies dann vor der Super.loadurl -Linie in /src/com/phonegap/your_app/app.java hinzu

DeviceCulture deviceCulture = new DeviceCulture();
appView.addJavascriptInterface(deviceCulture , "DeviceCulture");

Dann verwenden Sie in Ihrem JavaScript dies, um das Gebietsschema zu erhalten (zB "en_gb")

window.DeviceCulture.get();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top