我有一个使用Google地图的应用。由于使用Android中的新Api,如果用户没有最新的Google地图应用程序,地图将无法正常工作,我的应用程序是否有任何方式可以知道用户已安装的版本?并且......我的应用程序可以知道哪个版本是Google Play中的最后一个版本?
答案 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
(尽管生产代码应该使用其他内容,例如烤面包片)。
GooglePlayServicesUtil
有own set of JavaDocs。