我在我的项目中一直使用Google服务,但是亚马逊平板不支持Google服务,因此如果我想将应用程序发布到亚马逊商店,我需要删除Google服务。
我不想将项目分为“适用于Google Play”和“适用于亚马逊商店”。
我使用android.os.Build.MODEL
获取设备名称,但我不确定它是否安全?
我能在项目中检测到亚马逊平板吗?
if(is Amazon) {
//do something
}
else {
//do something
}
是的,您可以使用Build.MODEL和Build.MANUFACTURER。
根据Amazon文档,Build.MANUFACTURER始终返回“Amazon”,而Build.MODEL根据型号返回不同的字符串。
如果您不需要区分每个Amazon平板电脑,您可以只使用:
if (Build.MANUFACTURER.equals("Amazon")) {
//we have an Amazon tablet
}
else {
//some other device
}
Kindle Fire HDX 8.9 (3rd Gen)
if (Build.MODEL.equals("KFAPWI")) {
//WiFi version
}
else if (Build.MODEL.equals("KFAPWA")) {
//WAN version
}
etc.
String deviceName = android.os.Build.MODEL;
String deviceMan = android.os.Build.MANUFACTURER;
如需更多详情,请访问android.os.Build
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;
}