2015-07-23 2 views
0

Я прочитал эту тему, но я до сих пор сталкивался аналогичный вопрос:GoogleApiClient onConnected не призвал Watch

GoogleApiClient onConnected never called on Wearable device

Я пытался следовать точно, как это работает: https://developer.android.com/training/wearables/data-layer/events.html

Вот мои коды:

public class Main extends Activity implements DataApi.DataListener, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { 
private static final String PATH = "/phonewatch"; 
private GoogleApiClient client; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    Log.d("phone watch", "On Create!"); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    client = new GoogleApiClient.Builder(this).addApi(Wearable.API).build(); 
    ... 
} 

@Override 
protected void onStart() { 
    Log.d("phone watch", "On Start!"); 

    super.onStart(); 
    client.connect(); 
} 

@Override 
protected void onStop() { 
    Log.d("phone watch", "On Stop!"); 

    if (client != null && client.isConnected()) { 
     Wearable.DataApi.removeListener(client, this); 
     client.disconnect(); 
    } 

    super.onStop(); 
} 

@Override 
public void onConnected(Bundle bundle) { 
    Log.d("phone watch", "On connected! Add listener."); 

    Wearable.DataApi.addListener(client, this); 
} 

@Override 
public void onConnectionSuspended(int i) { 
    Log.d("phone watch", "connection suspended."); 
} 

@Override 
public void onConnectionFailed(ConnectionResult connectionResult) { 
    Log.d("phone watch", "connection failed."); 
} 

@Override 
public void onDataChanged(final DataEventBuffer dataEventBuffer) { 
    Log.d("phone watch", "Data changed!"); 
... 
} 

Я только получил это:

07-23 20: 07: 41.730 24874-24874/virtualgs.phonewatch D/phone watch: On Create! 07-23 20: 07: 41.772 24874-24874/virtualgs.phonewatch D/phone watch: On Start!

На подключенные и другие сообщения журнала не вызывались. Мне что-то не хватает?

ответ

2

Хотя ваша деятельность реализует GoogleApiClient.ConnectionCallbacks и GoogleApiClient.OnConnectionFailedListener, вы никогда не регистрировали свою деятельность в качестве слушателя для получения этих обратных вызовов. При создании клиента API, вам нужно вызвать следующие два: addConnectionCallbacks (это) и addOnConnectionFailedListener (это):

client = new GoogleApiClient.Builder(this) 
    .addApi(Wearable.API) 
    .addConnectionCallbacks(this) 
    .addOnConnectionFailedListener(this) 
    .build(); 
+0

Спасибо! Я не могу поверить, что совершил эту ошибку. Спасибо за вашу помощь! –

Смежные вопросы