Google Play services是一个Android库,其目标是提供:
如果我要使用它(例如因为我希望Google+登录),那么设备没有Google Play的用户会怎样? (Nook,Cyanogenmod,中国移动,旧设备,maybe Huawei?等)
问题:我的应用会与这些设备不兼容吗?它会显示为兼容但是会崩溃,还是不起作用? 在使用Google Play服务时,是否有最佳做法?
答案 0 :(得分:25)
GooglePlayServicesUtil.isGooglePlayServicesAvailable(android.content.Context)
已弃用!
使用:
GoogleApiAvailability api = GoogleApiAvailability.getInstance();
int code = api.isGooglePlayServicesAvailable(activity);
if (code == ConnectionResult.SUCCESS) {
// Do Your Stuff Here
} else {
AlertDialog alertDialog =
new AlertDialog.Builder(activity, R.style.AppCompatAlertDialogStyle).setMessage(
"You need to download Google Play Services in order to use this part of the application")
.create();
alertDialog.show();
}
答案 1 :(得分:23)
如果Google Play服务中的功能对您的应用至关重要,则无法让您的应用运行。
您可以使用GooglePlayServicesUtil.isGooglePlayServicesAvailable(android.content.Context)
来检查您的应用中是否启用了服务
如果Play服务可用,则返回ConnectionResult.SUCCESS
。
您现在可以尝试说服用户安装它(如果可能)或禁用正在使用该服务的功能。
由于Google Play服务不是清单中声明的功能,您的应用应该可以在任何设备上正常安装,但如果您使用API而不检查它们是否可用,则可能会在以后崩溃。
您可以尝试使用模拟器进行操作。只需在没有Google API的情况下创建AVD并将您的应用程序放在其上。
答案 2 :(得分:0)
如果您的应用使用Google登录或Firebase Cloud Messaging之类的GMS功能,则在没有GMS的设备上无法正常运行。 如果设备支持GMS,建议您使用GMS。否则,请使用HMS(华为移动服务)。
请参考以下链接:
因此,您可以在可以使用GMS的设备上使用Google+登录;否则,请使用HUAWEI帐户登录。
答案 3 :(得分:-2)