由于 Oreo 中的后台服务限制,我使用 Jobscheduler(作为推荐的替代品)将我的服务(用于 Nougat,API 25)发送到 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);
这可以作为常规服务(奥利奥之前)正常工作,但不能来自 Jobservice(无论我的 MainActivity 是否在前台)。也没有错误消息等。只是没有任何东西到达我的穿戴设备。
由于我想避免使用前台服务,所以我现在没有想法,如何完成此操作或为什么它不起作用...