您可以使用Web服務,它將根據用戶的IP地址返回位置。下面是Web服務的一個示例:
private class AsyncTaskClass extends AsyncTask<Void, JSONObject, JSONObject> {
@Override
protected JSONObject doInBackground(Void... params) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://ip-api.com/json")
.build();
try {
Response response = client.newCall(request).execute();
return new JSONObject(response.body().string());
} catch (IOException | JSONException e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(JSONObject data) {
try {
Log.i("Country", data.getString("country"));
} catch (JSONException e) {
e.printStackTrace();
}
}
}
https://developers.google.com/maps/documentation/geocoding/start?csw=1#geocoding-request-and-response-latitudelongitude-lookup –
@IntelliJAmiya我無法使用IP或地理位置。請參閱#3 – costello
如果您想從Google帳戶獲取信息,請撥打REST來致電Google以閱讀他們的個人資料。其中一個領域是位置(我忘了它是城市還是國家)。通過OAuth進行身份驗證。此解決方案獨立於Android - 也可以在iOS應用或Web應用中使用。 –