如何协助用户获取Google Play服务

时间:2013-03-04 15:18:26

标签: android google-maps google-maps-android-api-2 google-play-services

我有一个使用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服务? 感谢

1 个答案:

答案 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和权限标记。