Android Wear:如何连接和发送数据

时间:2015-05-12 12:07:38

标签: android wear-os

我尝试了不同的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;所以这似乎有效 - 这让我更加困惑。

2 个答案:

答案 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一个简单的数据同步和消息传递库?