7

我想做一个简单的可穿戴应用程序并通过数据层进行连接。手持模块(使用:S5)一切正常,但可穿戴设备(使用:Moto 360)总是抛出错误:

onConnectionFailed:ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED,分辨率=null}

手持设备上的播放服务是最新的

我已经添加

compile 'com.google.android.gms:play-services:7.3.0'

对两者来说,手持设备,作为穿戴 build.gradle。

可穿戴活动:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
        stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
            @Override
            public void onLayoutInflated(WatchViewStub stub) {
                mTextView = (TextView) stub.findViewById(R.id.text);
            }
        });
        int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
        Log.i(TAG,"Services available: "+ result);
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
                    @Override
                    public void onConnected(Bundle connectionHint) {
                        Log.d(TAG, "onConnected: " + connectionHint);
                        // Now you can use the Data Layer API
                    }
                    @Override
                    public void onConnectionSuspended(int cause) {
                        Log.d(TAG, "onConnectionSuspended: " + cause);
                    }
                })
                .addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
                    @Override
                    public void onConnectionFailed(ConnectionResult result) {
                        Log.d(TAG, "onConnectionFailed: " + result);
                    }
                })
                        // Request access only to the Wearable API
                .addApi(Wearable.API)
                .build();

    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.i(TAG, "==OnStart===");
        mGoogleApiClient.connect();
    }

我已经进行了研究,但找不到任何可行的解决方案。

4

6 回答 6

6

当我在华硕 ZenWatch 上使用 Google Play Services 时,我遇到了类似的问题,

在可穿戴设备中总是抛出错误:

ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED,分辨率=null

Google Play 服务已过时。需要 7327000 但找到 6774534

我发现可穿戴设备和手持设备的 Google Play 服务可能不同步,我不知道为什么。

在此处输入图像描述

所以,检查可穿戴的 Google Play 服务版本

设置 -> 关于 -> 软件版本

并重新同步应用程序

启动 Android Wear 应用 -> 点击齿轮图标 -> 选择您的设备 -> 重新同步应用

等待 3-5 分钟,查看可穿戴的 Google Play Services 版本。

同步完成后,也许您可​​以使用它。

希望你能理解我蹩脚的英语。

于 2015-05-12T05:05:43.100 回答
2

如果所选答案对某些人不起作用,请尝试此操作。要获得最新的 google play 服务,请API 22为模拟器下载最新的系统映像(截至本文)。我API 21以前用过。

于 2015-10-12T07:41:16.557 回答
1

我通过降级 gradle 脚本中的库版本解决了同样的情况。

电话项目依赖项最初是

compile 'com.google.android.gms:play-services:9.2.0'

监视项目依赖项是

compile 'com.google.android.support:wearable:2.0.0-alpha1'
compile 'com.google.android.gms:play-services-wearable:9.2.0'

在两种情况下,我都将版本从 9.2.0 降低到 9.0.0 后,手机不再要求升级。

于 2016-07-01T20:14:19.933 回答
1

我有同样的问题。

我能够通过将 Android Play 服务更新为 Android Mobile 和 Android Wear 设备上的相同版本来修复它。

您可以通过以下方式查看移动设备上的 Android Play 服务版本

 Settings -> Apps -> Google Play services -- The version should be listed near the top.

接下来,转到您的 Android Wear 设备并检查 Android Play 服务版本。这可以通过去完成

Settings -> About -> Click on Versions -- The version should be listed

如果这些版本不相同,则需要将较低版本升级为与较高版本相同的版本。

首先,访问http://www.apkmirror.com/apk/google-inc/google-play-services/下载 Android Play 服务 APK:确保获得与您的其他设备相同的版本 - 此链接包含下载以及有关为您的设备找到正确 APK 的有用信息。

您可以使用此命令将 APK 安装到您的 Android 移动设备。如果您的设备上安装了当前版本的 Google Play 服务,则需要 -r(重新安装)。

adb install -r <path to APK>

您还可以使用蓝牙将 APK 直接安装到您的 Android Wear 设备(如果该设备需要更新)。这需要更多的工作。

首先,确保您的 Wear 和移动设备已配对。导航到移动设备上的“Android Wear”应用程序,在左上角,您应该会看到您的设备处于已连接状态。单击齿轮并向下滚动到标题“通过蓝牙调试”的部分。确保设置如下所示:

 **Debugging over Bluetooth**
 Host: disconnected
 Target: connected

接下来,运行这两个命令

adb forward tcp:4444 localabstract:/adb-hub
adb connect localhost:4444

最后,运行这个命令

adb devices

您应该看到两个设备已连接。

**List of devices attached**
localhost:4444 device
"Device Name" device

如果你有这样的东西

**List of devices attached**
localhost:4444 unauthorized
"Device Name" device 

您需要在 Android Wear 设备上启用调试模式。这可以通过转到

Settings->About and pressing the Build Number tab 7 times. 

返回

Settings->Developer Options, this should have just appeared. 

确保同时打开 ADB Debugging 和 Debug over Bluetooth

最后,既然您已经连接了两台设备,您可以使用此命令将 APK 安装到您的 Android Wear 设备

adb -e install -r <path to APK>

快速注意,这将需要 10 分钟左右,并且似乎什么都不会发生。只要耐心等待。最终,您将收到如下所示的响应:

76 KB/s (18622942 bytes in 238.161s)
pkg: /data/local/tmp/com.google.android.gms_9.2.56_(534-   124593566)-9256534_minAPI20(armeabi-v7a)(240dpi)_apkmirror.com.apk
Success

一旦两台设备具有相同的 Google Play 服务版本,您就可以开始使用了。快乐编码!

于 2016-07-14T15:33:39.933 回答
0

就我而言,我在编译时遇到了错误

compile 'com.google.android.gms:play-services:9.8.0"

升级到 10.0.1,修复它。

于 2016-12-30T10:59:01.777 回答
0

我在尝试在运行 7.1.1 W play services 10.2.89 的 android wear 模拟器上进行测试时遇到了这个问题。我让build.gradle 依赖项在 wear 模块中设置了 11.0.1。最简单最快捷的解决方案是您尝试将 build.gradle 中的播放服务版本设置为等于或小于您在我的情况下佩戴的设备或模拟器上的设置:

compile 'com.google.android.gms:play-services-wearable:10.0.1'

它奏效了。

于 2017-07-16T13:36:51.107 回答