我正在尝试从Android佩戴手表(moto 360 sport)获取GPS坐标。作为迈向它的第一步,我需要连接到GoogleApiClient。下面是相同的代码。但是与GoogleApiClient的连接总是失败并显示错误消息。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setAmbientEnabled();
mContainerView = (BoxInsetLayout) findViewById(R.id.container);
mTextView = (TextView) findViewById(R.id.text);
mClockView = (TextView) findViewById(R.id.clock);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Wearable.API)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
@Override
protected void onResume() {
super.onResume();
mGoogleApiClient.connect();
}
@Override
protected void onPause() {
super.onPause();
mGoogleApiClient.disconnect();
}
连接失败=> ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED,resolution = null,message = null}
我看了this。接受的答案对我不起作用。我的手机的谷歌播放服务版本是9.4.52(440-127739847),我手表中的谷歌播放服务是8.7.01(2590918-534)。我在手表上点了这个版本。但它检查了更新没有显示任何内容(我的手表中是否需要wifi来检查更新并安装更新?)。由于接受的答案不起作用,我转到该线程的最后一个答案。所以我下载了8.7.01(2590918-440)(尽管最后3个数字不匹配)。当我试图在我的手机上安装这个apk时,我收到了失败[INSTALL_FAILED_VERSION_DOWNGRADE] 因为我的手机中的播放服务版本高于手表版本。我该如何处理这个问题?
非常感谢您的帮助。感谢
答案 0 :(得分:2)
一些Android Wear手表(大约10%,根据民意调查)陷入较低的Play服务版本。如果您的手表是其中之一,既不按版本号,也不是将使其更新。 Google了解此问题(请参阅here和here),并且很快就会找到解决方案(请参阅here)。他们建议不要使用Play Sevices 9.x,直到问题得到解决。
请注意这样一个事实:包含在Application-release.apk 中的可穿戴apk使用9.x将不会部署在8.x 的手表上。它将永远等待Play服务更新。
E.g。使用方法:
compile "com.google.android.gms:play-services-location:8.4.0"
而不是
compile "com.google.android.gms:play-services-location:9.4.0"
在Application和可穿戴方面的build.gradle中。
您的手机运行更高版本并不重要。