打开应用程序时显示Wearable.DataApi收到的数据

时间:2017-11-07 11:48:33

标签: android synchronization wear-os android-wear-data-api

我使用以下代码从手机向Android Wear设备发送数据:

PutDataRequest putDataRequest = dataMap.asPutDataRequest();
PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi.putDataItem(mGoogleApiClient,putDataRequest);

在我的Android Wear设备上,当应用程序打开时,我使用覆盖方法onDataChanged(DataEventBuffer dataEventBuffer),是的,我收到的数据显示正确。

但我需要在Android Wear应用关闭时接收数据,并在打开应用时显示。

任何人都知道如何做到这一点?

感谢。

亲切的问候。

1 个答案:

答案 0 :(得分:0)

当然,您可以在任何州接收数据。如果您的应用是开放的,那无关紧要。

只需在Android清单中添加以下内容:

<service android:name=".YourService" >
    <intent-filter>
        <!-- listeners receive events that match the action and data filters -->
        <action android:name="com.google.android.gms.wearable.DATA_CHANGED" />
        <action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" />
        <action android:name="com.google.android.gms.wearable.CAPABILITY_CHANGED" />
        <action android:name="com.google.android.gms.wearable.CHANNEL_EVENT" />
        <data android:scheme="wear" android:host="*" android:pathPrefix="/yourPathPrefix" />
    </intent-filter>
</service>

并添加以下Java代码:

public class DataWearableListenerService extends WearableListenerService {
    @Override
    public void onDataChanged(DataEventBuffer dataEvents) {
        super.onDataChanged(dataEvents);
    }
    @Override
    public void onMessageReceived(MessageEvent messageEvent) {
    }
}