【问题标题】:Can I detect Amazon tablet and others?我可以检测到亚马逊平板电脑和其他设备吗?
【发布时间】:2014-01-13 08:52:43
【问题描述】:

我在项目中一直使用谷歌服务,但是亚马逊平板不支持谷歌服务,所以如果我想将应用发布到亚马逊商店,我需要删除谷歌服务。 我不想将项目划分为“For Google Play”和“For Amazon Store”。
我使用android.os.Build.MODEL 获取设备名称,但我不确定它是否安全?
我可以在项目中检测亚马逊平板电脑吗?

if(is Amazon) {
    //do something
}
else {
    //do something
}

【问题讨论】:

    标签: android device


    【解决方案1】:

    是的,您可以使用 Build.MODEL 和 Build.MANUFACTURER。

    根据Amazon documentation,Build.MANUFACTURER 始终返回“Amazon”,而 Build.MODEL 返回不同的字符串,具体取决于型号。

    如果您不需要区分每个亚马逊平板电脑,您可以使用:

    if (Build.MANUFACTURER.equals("Amazon")) {
        //we have an Amazon tablet
    }
    else {
        //some other device
    }
    

    如果您需要确切知道它是哪个设备,可以使用 Build.MODEL,例如:

    • Kindle Fire HDX 8.9(第三代)

      if (Build.MODEL.equals("KFAPWI")) {
          //WiFi version
      }
      else if (Build.MODEL.equals("KFAPWA")) {
          //WAN version
      }
      

      等等

    【讨论】:

      【解决方案2】:

      你可以使用..

      String deviceName = android.os.Build.MODEL;
      String deviceMan = android.os.Build.MANUFACTURER;
      

      更多详情请访问android.os.Build

      【讨论】:

        【解决方案3】:

        我建议您检测是否安装了 google Play。因为一些自定义 Rom 也没有安装 Google Play。所以试试这行代码:

        private static final String GooglePlayStorePackageNameOld = "com.google.market";
        private static final String GooglePlayStorePackageNameNew = "com.google.vending";
        
        public boolean serviceAvailable(Context ctx) {
            boolean googlePlayStoreInstalled= false;
            packageManager = ctx.getPackageManager();
            List<PackageInfo> packages = packageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
            for (PackageInfo packageInfo : packages) {
                if (packageInfo.packageName.equals(GooglePlayStorePackageNameOld) ||
                    packageInfo.packageName.equals(GooglePlayStorePackageNameNew)) {
                    googlePlayStoreInstalled = true;
                    break;
                }
            }
            return googlePlayStoreInstalled;
        }
        

        【讨论】:

          猜你喜欢
          • 2015-08-23
          • 1970-01-01
          • 1970-01-01
          • 2011-08-16
          • 2012-12-28
          • 1970-01-01
          • 2011-09-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多