【发布时间】:2015-05-11 20:00:28
【问题描述】:
我创建了简单的电话穿戴应用程序。
Wear 应用有一个带有代码的 Activity:
public class MainActivity extends Activity implements GoogleApiClient.ConnectionCallbacks {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
mTextView = (TextView) stub.findViewById(R.id.text);
}
});
getGoogleApiClient(this).connect();
}
private GoogleApiClient getGoogleApiClient(Context context) {
return new GoogleApiClient.Builder(context)
.addApi(Wearable.API)
.addConnectionCallbacks(this)
.build();
}
@Override
public void onConnected(Bundle bundle) {
Toast.makeText(this, "onConnected", Toast.LENGTH_SHORT).show();
}
@Override
public void onConnectionSuspended(int i) {
Toast.makeText(this, "onConnectionSuspended", Toast.LENGTH_SHORT).show();
}}
Phone 应用有一个 WearableListenerService
public class ListenerOfConnection extends WearableListenerService {
private static final String TAG = "DataLayerListenerServic";
protected GoogleApiClient googleApiClient;
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(ListenerOfConnection.this, "onCreate", Toast.LENGTH_SHORT).show();
googleApiClient = new GoogleApiClient.Builder(this)
.addApi(Wearable.API)
.build();
googleApiClient.connect();
}
@Override
public void onPeerConnected(Node peer) {
super.onPeerConnected(peer);
Toast.makeText(ListenerOfConnection.this, "onPeerConnected", Toast.LENGTH_SHORT).show();
LOGD(TAG, "onPeerConnected: " + peer);
}
@Override
public void onPeerDisconnected(Node peer) {
super.onPeerDisconnected(peer);
Toast.makeText(ListenerOfConnection.this, "onPeerDisconnected", Toast.LENGTH_SHORT).show();
LOGD(TAG, "onPeerDisconnected: " + peer);
}
public static void LOGD(final String tag, String message) {
if (Log.isLoggable(tag, Log.DEBUG)) {
Log.d(tag, message);
}
}}
问题是onPeerConnected 和onPeerDisconnected从未被调用,如果我不发送任何消息,onCreate 也不会被调用。
如果我发送少量消息 onCreate 被调用但 onPeerConnected 和 onPeerDisconnected 从不...
在向我提问之前:
1.applicationId相同
2.可穿戴Activity调用onConnected
【问题讨论】:
-
您的 TAG 缺少一个字母,如果您按全名过滤日志,请小心
标签: android wear-os android-wear-data-api