相关疑难解决方法(0)

在WearableListenerService中未调用OnMessageReceived

我正在使用Eclipse IDE开发android Wear应用程序.我使用相同的包名称来佩戴应用程序和移动应用程序,我正在根据谷歌文档手动打包可穿戴应用程序.一切正常.使用usb调试安装在Android Wear模拟器上用电话.

我的问题是当我使用以下代码向可穿戴设备发送消息时

List<Node> nodeList=getNodes();
for(Node node : nodeList) {
    Log.v(" ", "telling " + node.getId() );

    PendingResult<MessageApi.SendMessageResult> result = Wearable.MessageApi.sendMessage(
        mGoogleApiClient,
        node.getId(),
        START_ACTIVITY_PATH,
        null
    );

    result.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
        @Override
        public void onResult(MessageApi.SendMessageResult sendMessageResult) {
            Log.v(" ", "Phone: " + sendMessageResult.getStatus().getStatusMessage());
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

当设备被对等但OnMeageReceived从未在WearableListenerService中调用时,OnPeerConnected方法正在运行.这是我的WearableListenerService代码:

public class DataLayerListenerService extends WearableListenerService {

    private static final String TAG = "DataLayerSample";
    private static final String START_ACTIVITY_PATH = "/start/MainActivity";
    private static final String DATA_ITEM_RECEIVED_PATH = "/data-item-received";
    private static final String …
Run Code Online (Sandbox Code Playgroud)

android

15
推荐指数
2
解决办法
5749
查看次数

Android Wear将数据发送到Android手机,但手机似乎永远不会收到它

简短摘要:我正在尝试使用PutDataRequest和GoogleApiClient将Android Wear手表中的数据发送到Android手机.日志似乎表明数据已成功发送,但onDataChanged永远不会触发.我使用的是Android Studio 1.0.2.我没有使用任何模拟器而是Android Wear手表我自己 - 我已经配对,并通过Android Wear设备和手机上的Android Wear应用程序启用调试.在手机和Wear的AndroidManifest.xml上,我都包含了com.google.android.gms.version.

在Android手机(4.4.4版本的Android),我使用侦听器服务,该服务通过AndroidManifest.xml中的约束,并通过手机上的主要活动开始.从日志,我可以证实该服务在手机上成功创建,但没有数据收到过(onDataChanged不闪光 - 要准确).

    <!-- Phone manifest, registers the listener -->
    <service android:name=".DataLayerListenerService" >
        <intent-filter>
            <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
        </intent-filter>
    </service>
Run Code Online (Sandbox Code Playgroud)

这是在手机上运行的监听服务:

public class DataLayerListenerService extends WearableListenerService {
    private static final String TAG = DataLayerListenerService.class.getName();
    private GoogleApiClient mGoogleApiClient;

    private static final String WEARABLE_DATA_PATH = "/audio";

    @Override
    public void onCreate() {
        // I can see this fires properly on the Android mobile phone
        Logger.d(TAG, "onCreate");
    }

    @Override
    public void onDataChanged(DataEventBuffer dataEvents) {
        // This …
Run Code Online (Sandbox Code Playgroud)

android android-wear-data-api wear-os

6
推荐指数
2
解决办法
4159
查看次数

标签 统计

android ×2

android-wear-data-api ×1

wear-os ×1