在我的用例中,我尝试将数据(大于100K)从佩戴伴侣应用程序发送到磨损应用程序。我正在利用WearCompanionLibrary(WCL,https://github.com/googlesamples/android-WearCompanionLibrary)。我的目标是低级别的通道API,示例应用程序(https://github.com/googlesamples/android-WclDemoSample)有点逆转:它将图像从磨损发送给同伴。
但我甚至没有达到这一点,因为即使我在磨损应用程序和移动应用程序的WearManager.initialize(getApplicationContext());
中执行onCreate()
,在发送数据时{{1}返回空节点集。
因此,如果我尝试在磨损应用的主要活动中设置wearManager.getConnectedNodes();
(将接收数据),我会从https://github.com/googlesamples/android-WearCompanionLibrary/blob/master/WCL/src/main/java/com/google/devrel/wcl/WearManager.java#L594获得例外
我不明白为什么。调试到WCL正确调用
wearManager.removeCapabilities(CAPABILITY_FILE_PROCESSOR);
我使用API 25 Wear模拟器,我在随附应用程序部分中包含10.0.1 Play服务,因为我使用 mGoogleApiClient = new GoogleApiClient.Builder(mContext)
.addApi(Wearable.API)
.addConnectionCallbacks(new MyConnectionCallbacksListener())
.addOnConnectionFailedListener(new MyConnectionFailedListener())
.build();
mGoogleApiClient.connect();
。
GcmTaskService
或者,如果您有关于如何实现从一个节点向另一个节点发送< 100K二进制数据的绝对简单任务的任何提示,请告诉我。我以几种不同的方式尝试了DataLayer API(DataMap,通知),但并不满意。