Могу ли я обнаружить Amazon tablet и другие?
Я использую сервис Google в своем проекте,но планшеты Amazon не поддерживают сервис Google, поэтому, если я хочу опубликовать приложение в Amazon Store, мне нужно удалить сервис Google.
Я не хочу делить проект на "для Google Play" и "для Amazon Store".
Я получаю имя устройства, используя android.os.Build.MODEL
, но я не уверен, что это безопасно?
Могу ли я обнаружить планшеты Amazon в project?
if(is Amazon) {
//do something
}
else {
//do something
}
3 ответа:
Да, вы можете использовать Build.Модель и сборка.ПРОИЗВОДИТЕЛЬ.
В соответствии сдокументацией Amazon , Сборка.Производитель всегда возвращает "Амазонку", причем сборки.Модель возвращает различные строки, в зависимости от модели.
Если вам не нужно различать каждый планшет Amazon, вы можете просто использовать:
if (Build.MANUFACTURER.equals("Amazon")) { //we have an Amazon tablet } else { //some other device }
Если вам нужно точно знать, какое это устройство, вы можете использовать Build.Модель, например:
Kindle Fire HDX 8.9 (3-й Gen)
if (Build.MODEL.equals("KFAPWI")) { //WiFi version } else if (Build.MODEL.equals("KFAPWA")) { //WAN version }
И т. д.
Вы можете использовать ..
String deviceName = android.os.Build.MODEL; String deviceMan = android.os.Build.MANUFACTURER;
Для получения более подробной информации, пожалуйста, посетите андроид.ос.Построить
Я бы предложил вам определить, установлен ли google Play. Потому что несколько пользовательских дисков также не имеют встроенного 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; }