在我的应用中询问Google地图版本

时间:2013-03-26 13:27:41

标签: android google-maps

我有一个使用Google地图的应用。由于使用Android中的新Api,如果用户没有最新的Google地图应用程序,地图将无法正常工作,我的应用程序是否有任何方式可以知道用户已安装的版本?并且......我的应用程序可以知道哪个版本是Google Play中的最后一个版本?

1 个答案:

答案 0 :(得分:2)

  如果用户没有最新的谷歌地图应用程序,地图将无法正常工作,我的应用程序是否有任何方式可以知道用户已安装的版本?

您的应用不关心Google地图的版本。您的应用关注安装了Play服务框架。

我的示例应用程序(例如this one)使用AbstractMapActivity在调用readyToGo()时包含了检查Play服务框架的详细信息:

  protected boolean readyToGo() {
    int status=
        GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);

    if (status == ConnectionResult.SUCCESS) {
      return(true);
    }
    else if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
      ErrorDialogFragment.newInstance(status)
                         .show(getSupportFragmentManager(),
                               TAG_ERROR_DIALOG_FRAGMENT);
    }
    else {
      Toast.makeText(this, R.string.no_maps, Toast.LENGTH_LONG).show();
      finish();
    }

    return(false);
  }

如果true本身返回isGooglePlayServicesAvailable(),则会返回true。否则,如果可能,它将显示一个对话框(有一个ErrorDialogFragment内部类),引导用户安装Play服务框架。或者,它会针对不可恢复的问题显示Toast(尽管生产代码应该使用其他内容,例如烤面包片)。

GooglePlayServicesUtilown set of JavaDocs