0

目前我正在为三星智能手表创建一个安全应用程序。我希望用户能够在他们的智能手机上注册并将这些数据发送到智能手表应用程序。我按照三星的附件 SAP 通信教程进行操作。一切正常,直到我收到 PEERAGENT_NO_RESPONSE 错误,第一部分工作正常,它尝试连接没有任何问题。

我在 tizen 上调用的方法是这样的:

SAAgent.setServiceConnectionListener(agentCallback);

var agentCallback = {
        onconnect: function(socket){
            alert("agentCallback connect" + socket);
            SASocket = socket;
            alert("connected");
            SASocket.setSocketStatusListener(function(reason){
                console.log("Service Connection lost, Reason: ["+ reason+"]");
                disconnect();
            })
        },
        onerror: function(error){
            alert("agentCallBack"+error);
        }
};

当我调用 SAAgent.setServiceConnectionListener(agentCallback) 时,会触发下面的 android 代码。但这总是返回 PEERAGENT_NO_RESPONSE 错误。

@Override
protected void onServiceConnectionRequested(SAPeerAgent peerAgent){ 
//Toast.makeText(getBaseContext(), "TESTG", Toast.LENGTH_SHORT).show();
 super.acceptServiceConnectionRequest(peerAgent)
}

我想知道我做错了什么。

4

1 回答 1

0

经过调试和一些帮助后,我终于解决了问题:

这必须是公共的,而不是在 android 端受保护。这导致运行时崩溃并且没有向 tizen 可穿戴设备发送任何数据。

public SAPServiceProviderConnection() {
    super(SAPServiceProviderConnection.class.getName());
}

我还将android和tizen端的supportedTransports更改为:(我在android端有BT,在tizin端有WIFI/BT。)

<transport type="TRANSPORT_BT"/>
<transport type="TRANSPORT_WIFI"/>

服务通道,数据高:

 <serviceChannel
    id="104"
    dataRate="high"
    priority="low"
    reliability="enable"/>
于 2015-04-01T12:50:43.830 回答