检查Google Play服务是否启用FCM
问题描述:
如果我想使用FCM,是否需要检查Google Play服务是否启用?我的应用必须支持OS 4.0及以上版本。它将通过Play商店分发,所以我认为Google Play服务应该默认在用户的设备上启用。检查Google Play服务是否启用FCM
答
文档说:
FCM客户需要运行Android 4.0或更高版本的设备也 有谷歌播放安装商店应用,或者仿真器上运行 的Android 4.0与谷歌的API。
此外:
应用程序依赖于播放服务SDK访问谷歌播放 服务功能前,应经常检查设备 一个兼容的谷歌Play服务的APK。建议在两个位置执行此操作: 主要活动的onCreate()方法和onResume()方法。在onCreate()中检查 可确保在没有 成功检查的情况下无法使用该应用程序。 onResume()中的检查可确保如果用户 通过其他方式(例如通过 后退按钮)返回到正在运行的应用程序,该检查仍会执行。
因此,您应该经常检查Google Play服务,但如果您通过Play商店分发您的应用程序,则可以安全地说已安装Play服务。
答
Play服务有不同的状态。您可以检查ConnectionResult.SUCCESS
。确切的说,你可以使用GPS检查状态
private void checkPlayService() {
int isGPSAvailable = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(MainActivity.this);
Toast.makeText(this,"isGPSAvailable " + isGPSAvailable,Toast.LENGTH_SHORT).show();
switch (isGPSAvailable)
{
case ConnectionResult.API_UNAVAILABLE:
//API is not available
break;
case ConnectionResult.NETWORK_ERROR:
//Network error while connection
break;
case ConnectionResult.RESTRICTED_PROFILE:
//Profile is restricted by google so can not be used for play services
break;
case ConnectionResult.SERVICE_MISSING:
//service is missing
break;
case ConnectionResult.SIGN_IN_REQUIRED:
//service available but user not signed in
break; case ConnectionResult.SERVICE_INVALID:
// The version of the Google Play services installed on this device is not authentic
break;
case ConnectionResult.SUCCESS:
break;
}
}
的可能的复制[火力地堡?我怎样才能确保与各种版本的谷歌Play服务的兼容性](https://stackoverflow.com/questions/42848522/firebase - 如何-可以-I-确保兼容性与 - 各种版本 - 的 - 谷歌播放-SE) –