Android可穿戴设备 - 数据项:无法在移动设备上接收数据

时间:2016-10-07 07:13:11

标签: android wear-os

我正在尝试将心率传感器数据从手表传输到移动设备。在手表(可穿戴)方面,我收到消息说明数据已被转移。我已经将消息的优先级(PutDataMapRequest)设置为紧急监视。

但是,我无法在移动设备上接收数据。以下是我的AndroidManifest.xml代码:

<%service android:name=".WearableListenerService1">
    
<%intent-filter>
    
<%action android:name="com.google.android.gms.wearable.DATA_CHANGED" />
    
<%data android:host="*"  android:scheme="wear" android:pathPrefix= "/healthcare" />
    
</intent-filter>
</service>

我的WearableListenerService1类是:

    public class WearableListenerService1 extends WearableListenerService     {
        @Override
    public void onMessageReceived(MessageEvent messageEvent) {
        super.onMessageReceived(messageEvent);

        String event = messageEvent.getPath();

        Log.d("Event ", event);

        String [] message = event.split("--");
        Intent i = new Intent(this, MainActivity.class);
        startActivity(i);
    }

    @Override
    public void onDataChanged(DataEventBuffer dataEventBuffer) {
      //  super.onDataChanged(dataEventBuffer);
        Log.d("Event ", "event data changed");
        Intent i = new Intent(this, MainActivity.class);
        startActivity(i);

    }
}

我正在使用以下库:

compile 'com.google.android.support:wearable:2.0.0-alpha2'
compile 'com.google.android.gms:play-services-wearable:9.4.0'

2 个答案:

答案 0 :(得分:0)

根据此tutorial,确保主应用和可穿戴应用中的applicationId匹配(build.gradle文件),以便WearableListenerService触发onDataChanged 1}}事件。因为当您通过移动应用程序或磨损应用程序发送一些数据时,它将检查相同的程序包以传递该数据。因此,如果您提供不同的名称,您将无法发送或接收数据。

您还可以查看此documentation和相关的SO主题:

答案 1 :(得分:0)

我发现了这个问题。我的Moto360上的Android版本是1.5,而我在Android Studio上使用了Wear 2.0的开发者预览版。