我的服务中有一个健身GoogleApiClient,运行正常...直到我添加Fitness API。
googleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Wearable.API)
.addApi(LocationServices.API)
.addApi(Fitness.HISTORY_API)
.addApi(Fitness.RECORDING_API)
.useDefaultAccount()
.build();
我的WatchService(针对Android Wear)具有完全相同的设置,并且完全没有任何问题...但只要我将其添加到手机应用程序中的服务...它将无法连接一点都不。
如果我取出这2行 - 它会立即连接。
.addApi(Fitness.HISTORY_API)
.addApi(Fitness.RECORDING_API)
建议?
所以看起来Fitness.HISTORY_API需要在手机App上登录 - 但不在手表上...奇怪......我只尝试过Fitness.HISTORY_API并且仍然需要登录。< / p>
答案 0 :(得分:0)
我的某个时刻也出现SIGN_IN_REQUIRED
错误,它甚至不会要求登录我的Google帐户,这听起来像是发生在你身上的事情。要申请登录,我使用了ConnectionResult.startResolutionForResult
,如下所示:
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult result) {
Log.i(TAG, "Google Play services connection failed. Cause: " + result.toString());
Snackbar.make(/*...*/).show();
try {
Log.i(TAG, "Requesting login...");
////////////////////////// HERE //////////////////////////////
result.startResolutionForResult(MainActivity.this, REQUEST_LOGIN);
}
catch (Exception e) {
// Handle exception however you like
}
}
})