相关疑难解决方法(0)

如何在不使用GPS的情况下获取我的Android设备国家代码?

Android移动设备实际上确实知道它在哪里 - 但有没有办法通过国家代码或国家/地区名称来检索国家/地区?

无需知道确切的GPS位置 - 国家代码或名称就足够了,我正在使用以下代码:

 String locale = context.getResources().getConfiguration().locale.getCountry(Locale.getDefault());      
 System.out.println("country = "+locale);
Run Code Online (Sandbox Code Playgroud)

但它给了我"美国"代码,
但我的设备保存在印度; 有没有办法找到设备当前国家代码而不使用GPS或网络提供商.因为我正在使用平板电脑 提前致谢.

android locale

51
推荐指数
7
解决办法
9万
查看次数

如何获得国家(或其ISO代码)?

获取国家/地区代码的最佳方式是什么?截至目前,我知道两种方法是通过TelephonyManager和另一种方法获取Locale,这是另一种在android中查找国家/地区代码的最佳和独特方式.

android location country-codes

49
推荐指数
6
解决办法
7万
查看次数

获得用户所在国家的可靠方法?

我通常从设备的语言中获取国家/地区.它有效,但现在我必须承认巴西.而且大多数设备只有葡萄牙语(pt_PT),没有葡萄牙语(巴西)选项.

我查了一下这个帖子:我在哪里? - 获得国家

方法

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

 String locale = context.getResources().getConfiguration().locale.getDisplayCountry();
Run Code Online (Sandbox Code Playgroud)

仍然是语言,没有帮助.

还有sim卡的建议,但我不确定这是否可靠(所有的SIM卡都有这个独特的标识吗?),它也不是我需要的,因为用户无法改变它(如果是设置就是这种情况),它将排除使用没有SIM卡的设备的用户(可能他们只是使用WLAN).

还有地理位置建议,但这可能不适用于已停用它的设备.还是我错了?

如果没有别的帮助我会在我的应用程序中进行对话或菜单设置,以便用户可以在那里选择它.但我首先要确认该设备是否有可靠的可能性.

android locale setting

20
推荐指数
2
解决办法
2万
查看次数

如何以编程方式确定是否可以在当前设备上安装Play商店中的应用程序?

在我的应用程序中,我推荐相关的应用程序,但只想推荐它们,如果它们实际上可以安装在设备上(例如相关应用程序的目标国家/地区的设备,正确的操作系统版本等).请参阅https://developer.android.com/google/play/filters.html

  1. 是否有任何API允许我通过链接到market来查询我推荐的给定应用程序:// details?id = package_name可以安装在本地设备上吗?
  2. 如果没有,我可以在我自己的应用程序中手动存储其他应用程序的要求.但是,如何确定用户的Play商店所关联的国家/地区等项目?

android google-play google-play-services

18
推荐指数
1
解决办法
2873
查看次数

在不使用gps或互联网的情况下获取用户的当前位置名称,但在android中使用Network_Provider

这个问题与" Android:获取用户的当前位置而不使用gps或互联网 " 相同的主流stackoverflow问题直接相关,其中接受的答案实际上没有回答问题.

我应该能够通过网络提供商而不是GPS或互联网获取设备的当前位置名称(例如:城市名称,村庄名称).以下是该问题的公认答案.(以下代码部分应包含在onCreate()方法中)

// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
      // Called when a new location is found by the network location provider.
      makeUseOfNewLocation(location);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {}

    public void onProviderDisabled(String provider) {}
  };

// Register the listener …
Run Code Online (Sandbox Code Playgroud)

java android location locationmanager

13
推荐指数
1
解决办法
2685
查看次数

如何检测韩国是否正在使用Android应用?

我在Google Play商店中有一款游戏可以选择将得分系统从积分改为$.显然,这是韩国赌博和非法的模拟.我得到了谷歌的官方谴责,他们将我的应用程序从韩国市场上撤下,并将我的成熟度评级提高到"成熟".虽然许多用户喜欢这种额外功能,但对于游戏来说完全没有必要.我想只在韩国禁用它.但是我需要一些可靠的方法.

我虽然关于使用语言环境,但用户可以改变它.

context.getResources().getConfiguration().locale.getDisplayCountry(Locale locale);
Run Code Online (Sandbox Code Playgroud)

我找到了这个:

android.telephony.TelephonyManager.getNetworkCountryIso()
Run Code Online (Sandbox Code Playgroud)

国家ISO是否会保证是正确的?我有一种不同的方法可以忽略吗?

此外,我的应用程序没有GPS权限.我认为仅针对此用例启用它是错误的.另外我想过多个APK.这将是最后的手段.我相信他们会被视为两个独立的应用程序.我不会得到我所有的好评和下载.

希望如果我开始工作,我可以让Google重新考虑他们的决定.

编辑:@Nobu Games提出了一个很好的观点.这确实需要适用于平板电脑.

android iso localization country-codes google-play

12
推荐指数
1
解决办法
1122
查看次数

如何从iso获取国家电话前缀

我通过这个答案的代码获得了国家iso :

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String countryCode = tm.getSimCountryIso();   
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得国家的前缀电话号码?
例如,+ 972为il.

java android

11
推荐指数
3
解决办法
2万
查看次数

AdMob中的未知国家/地区点击次数

我认为有人试图让我在AdMob中被禁止 - 来自"未知"国家/地区的地理位置点击次数达到了点击率80%-90%(其他国家<3%).

如果用户形成"未知"国家/地区,是否有办法阻止展示广告?

admob

8
推荐指数
1
解决办法
2444
查看次数

意外的telephonyManager.getSimCountryIso()行为

我正在创建一个应用程序,该应用程序将根据您的移动网络提供商所在的国家/地区显示该国家/地区的所有替代移动网络提供商的列表。为此,我正在使用telephonyManager.getSimCountryIso()检索国家/地区代码。

官方的android开发人员文档说:“返回与SIM卡提供商的国家/地区代码等效的ISO国家/地区代码”,因此从此我希望国家/地区代码始终始终与设备位置无关。但这不是它实际的工作方式! 例如,我最近遇到这种情况:我有一个带有西班牙SIM卡的android设备,属于西班牙网络提供商。因此,如果我在西班牙,TelephonyManager.getSimCountryIso()将返回“ es”。一切正常。问题例如,当我去法国旅行时,我调试了应用程序,发现telephonyManager.getSimCountryIso()返回的国家代码为:“ nl”(来自荷兰! 。与西班牙使用的设备和SIM卡相同,因此国家/地区代码ISO仍应为“ es”。

我的问题是这种方法实际上如何工作?如果我使用西班牙SIM卡,为什么会收到国家代码“ nl”(荷兰)?

预先感谢您的任何帮助

android localization

6
推荐指数
1
解决办法
2568
查看次数

Android获取设备国家/地区代码

我想在不使用SIM卡的情况下获取设备国家/地区代码。

例如,如果国家/地区:斯里兰卡国家/地区代码:LK

我的最终目标是获取调用代码(斯里兰卡为+94)

我尝试过

TelephonyManager tm = (TelephonyManager)this.getSystemService(getApplicationContext().TELEPHONY_SERVICE);
String countryCodeValue = tm.getNetworkCountryIso();
Run Code Online (Sandbox Code Playgroud)

但这返回空字符串

android

6
推荐指数
1
解决办法
8066
查看次数

如何在android中获取移动时区的缩写/国家代码?

如何获得时区缩写,如IST(印度标准时间),ET(东部时间)等.

我使用下面的代码来获取android中的时区信息,

选项1:

String mobileTimeZone =  Calendar.getInstance().getTimeZone()
                    .getDisplayName(false, TimeZone.SHORT);
Run Code Online (Sandbox Code Playgroud)

我选择了不同的时区和输出如下,

GMT + 13:00

GMT + 00:00

但是当设置某些时区时,它会给我正确的缩写代码作为输出,如下所示,

美东时间

我还尝试了下面的代码,它给出了时区的完整描述.

选项2:

String mobileTimeZone = Calendar.getInstance().getTimeZone().getID();
Run Code Online (Sandbox Code Playgroud)

获得以下输出,这只是区域名称:

太平洋/中途岛

太平洋/火奴鲁鲁

美洲/蒙得维的亚

是否有任何id或表的列表,包含所有时区供我映射.

而且还需要考虑白天节省的费用.

帮我从android手机上获取Time Zone的缩写.

timezone android abbreviation

5
推荐指数
1
解决办法
3060
查看次数

如何从代码中获取国家/地区的全名?

我现在可以获得国家代码,但我需要国家的全名.

我该怎么做?

public static String getCountry(Context c) {
        TelephonyManager manager = (TelephonyManager) c
                .getSystemService(Context.TELEPHONY_SERVICE);

        return manager.getNetworkCountryIso().toUpperCase();
    }
Run Code Online (Sandbox Code Playgroud)

android

1
推荐指数
1
解决办法
2146
查看次数

Java 8 - tz数据库时区

我必须在不同的时区使用Java 8日期/时间.例如:

LocalDateTime dateTime = LocalDateTime.of(2017, Month.JUNE, 1, 13, 39);
Instant instant = dateTime.atZone(ZoneId.of("Europe/Paris")).toInstant();
Run Code Online (Sandbox Code Playgroud)

时间帧是到dateTimes之间的实例

但我不想硬编码时区,这总是一个不好的做法

我在Java API中找不到任何常量来表示不同的时区,如https://en.m.wikipedia.org/wiki/List_of_tz_database_time_zones

是否有任何映射,因为它在短区ID?

https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html#of-java.lang.String-java.util.Map-

java timezone datetime date java-8

1
推荐指数
1
解决办法
1848
查看次数