我有一个使用Google Maps Android API v2的应用,因此使用Google Play服务。
我遇到的问题是:如何帮助那些没有安装Google Play服务的用户?
我正在检查服务:
int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());
switch (result) {
case ConnectionResult.SUCCESS:
startActivity(new Intent(this, Map.class));
break;
如果结果不好,我会向用户显示一个带有选项的对话框:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Error mesage").setTitle("Error message title");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
GooglePlayServicesUtil.getErrorDialog(result, MainMenu.this, 32).show();
dialog.dismiss();
}
});
当用户点击“是”并通过Google Play服务提示时,用户点击该广告并且大多数情况下转发到Google Play商店。但是这里还有来自Google Play的另一条错误消息,说“单位(手机)与此版本不兼容”,我觉得这很奇怪,因为我使用的是HTC Sensation Z710e,我最近更新到4.0.3的android 。
在我的另一部手机上,当用户点击GooglePlayServicesUtil.getErrorDialog
上的“获取Google Play服务”按钮时,使用Android 2.3.5的HTC Wildfire S A510e没有任何反应。
我可以做些什么来帮助用户获得Google Play服务? 感谢
答案 0 :(得分:1)
您可以尝试两件事:
1.从isGooglePlayServicesAvailable方法调试并找出结果的值。如果失败,它应该是以下值之一:
SERVICE_MISSING,
SERVICE_VERSION_UPDATE_REQUIRED,
SERVICE_DISABLED,
SERVICE_INVALID
所以你知道为什么Google Play services APK不可用。
2.注意手机与此版本不兼容 - 如果在android清单的uses-feature标记中未提及相应的功能,有时会向用户显示此消息。
从清单中的Feature Reference列表中选择正确的功能,并记下uses-sdk和权限标记。