由于Oreo中的后台服务限制,我提出了我的服务(在Nougat中使用,API 25),使用Jobscheduler将数据发送到Wear(API 23)(作为推荐的替代品)。 在那里,我使用AsyncTask将数据发送到我的可穿戴设备。
PutDataMapRequest putDataMapReq = PutDataMapRequest.create("/nextAppt");
putDataMapReq.getDataMap().putLong("appt", nextAppt);
PutDataRequest putDataReq = putDataMapReq.asPutDataRequest();
putDataReq.setUrgent();
PendingResult<DataApi.DataItemResult> pendingResult =
Wearable.DataApi.putDataItem(mGoogleApiClient, putDataReq);
这可以作为常规服务(pre-Oreo)使用,但不能从Jobservice(无论我的MainActivity是否在前台)。也没有错误消息等等。只是没有任何东西到达我的Wear设备。
由于我想避免使用前台服务,我现在没有想法,如何实现这个或为什么它确实不起作用......