Android 从谷歌账户中检索用户国家

标签 android location country

我正在开发具有基于用户所在国家/地区的内容过滤功能的应用。据我所知,可以通过 App Store 在 iOS 上获取国家/地区。是否有可能通过 Google Play 在 Android 上执行此操作?

Not Acceptable 解决方案列表:

  1. Locale:用户可能住在法国,但有英语语言环境,所以这 不管用。
  2. 电话经理:平板电脑呢?如果用户 出国换手机卡?
  3. IP 或地理位置:用户可能会出国,因此不会在那里进行过滤。

我的应用程序有应用程序内购买功能,我可以获得 ISO 4217 中的货币代码。但这是部分解决方案,欧元区呢?

最佳答案

您可以使用网络服务,该服务会根据用户的 IP 地址返回位置。以下是其中一项网络服务的示例:

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();
            }
        }
    }

关于Android 从谷歌账户中检索用户国家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37386854/

相关文章:

android - 位图和 BufferedImages 之间的区别

android.view.InflateException : Binary XML file line #12: Error inflating class <unknown>

android - inDither = 真安卓

Android Studio GeoDataClient无法解析

Android链接耳机音量到主音量

android - 试图获取 android 手机的更新位置,但代码给我带来了问题

swift - 在后台连续运行应用程序

video - 我只想上传特定国家/地区的YouTube视频

country - 元句法变量 : do you use something else than "foo", "bar"根据您的母语

java - 正则表达式在文本中查找国家/地区?