我尝试了不同的Android Wear教程和文档,但继续失败。我的第一步就是一点一点。我想要的(最后)是发送一个字符串" hello world"从我的移动设备到Android佩戴(Moto 360)。我到目前为止在Android Studio中做了什么:
移动应用: 添加到清单
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
在移动项目中的onCreate中:
private GoogleApiClient mGoogleApiClient;
mGoogleApiClient = new GoogleApiClient.Builder(this).addApi(Wearable.API).build();
mGoogleApiClient.connect();
当然,我实施了
public class HandheldMain extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener
在我班上
@Override
public void onConnected(Bundle bundle)
{
Log.v("Test", "on Connected");
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult)
{
Log.v("Test", "on Connection failed" + connectionResult.toString());
}
@Override
public void onConnectionSuspended(int i)
{
Log.v("Test", "on suspended");
}
问题: 我的回调永远不会被调用。当我的手表连接到手机时,它们应该被叫到吗?或者我的手表上是否需要某种代码?
当然,只要我手表上没有代码,我就无法发送消息,但我仍然很难做到连接。我尝试了几个教程,但它们似乎不起作用。例如。 https://www.binpress.com/tutorial/a-guide-to-the-android-wear-message-api/152
编辑: 我找到了阻塞连接命令
ConnectionResult a = mGoogleApiClient.blockingConnect(2000L, TimeUnit.MILLISECONDS );
Log.v("Test", "on Create" + a.getErrorCode());
当我在一个线程上运行它时,它返回&#34; 0&#34;所以这似乎有效 - 这让我更加困惑。
答案 0 :(得分:0)
尝试将connectionCallbacks添加到您的GoogleApiClient,就像这样
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Wearable.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this) // this also can be usefull
.build();
答案 1 :(得分:-1)
您是否尝试过Teleport一个简单的数据同步和消息传递库?