我正在使用Eclipse IDE开发android Wear应用程序.我使用相同的包名称来佩戴应用程序和移动应用程序,我正在根据谷歌文档手动打包可穿戴应用程序.一切正常.使用usb调试安装在Android Wear模拟器上用电话.
我的问题是当我使用以下代码向可穿戴设备发送消息时
List<Node> nodeList=getNodes();
for(Node node : nodeList) {
Log.v(" ", "telling " + node.getId() );
PendingResult<MessageApi.SendMessageResult> result = Wearable.MessageApi.sendMessage(
mGoogleApiClient,
node.getId(),
START_ACTIVITY_PATH,
null
);
result.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Log.v(" ", "Phone: " + sendMessageResult.getStatus().getStatusMessage());
}
});
}
Run Code Online (Sandbox Code Playgroud)
当设备被对等但OnMeageReceived从未在WearableListenerService中调用时,OnPeerConnected方法正在运行.这是我的WearableListenerService代码:
public class DataLayerListenerService extends WearableListenerService {
private static final String TAG = "DataLayerSample";
private static final String START_ACTIVITY_PATH = "/start/MainActivity";
private static final String DATA_ITEM_RECEIVED_PATH = "/data-item-received";
private static final String …Run Code Online (Sandbox Code Playgroud) 简短摘要:我正在尝试使用PutDataRequest和GoogleApiClient将Android Wear手表中的数据发送到Android手机.日志似乎表明数据已成功发送,但onDataChanged永远不会触发.我使用的是Android Studio 1.0.2.我没有使用任何模拟器而是Android Wear手表我自己 - 我已经配对,并通过Android Wear设备和手机上的Android Wear应用程序启用调试.在手机和Wear的AndroidManifest.xml上,我都包含了com.google.android.gms.version.
在Android手机(4.4.4版本的Android),我使用侦听器服务,该服务通过AndroidManifest.xml中的约束,并通过手机上的主要活动开始.从日志,我可以证实该服务在手机上成功创建,但没有数据收到过(onDataChanged不闪光 - 要准确).
<!-- Phone manifest, registers the listener -->
<service android:name=".DataLayerListenerService" >
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
</intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)
这是在手机上运行的监听服务:
public class DataLayerListenerService extends WearableListenerService {
private static final String TAG = DataLayerListenerService.class.getName();
private GoogleApiClient mGoogleApiClient;
private static final String WEARABLE_DATA_PATH = "/audio";
@Override
public void onCreate() {
// I can see this fires properly on the Android mobile phone
Logger.d(TAG, "onCreate");
}
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
// This …Run Code Online (Sandbox Code Playgroud)