附件 SAP 通信 Tizen 和 Android PeerAgent_No_Response

Accessory SAP communication Tizen and Android PeerAgent_No_Response

目前我正在为三星智能手表创建一个安全应用程序。我希望用户能够在他们的智能手机上注册并将这些数据发送到智能手表应用程序。我按照配件 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 代码被触发。但这总是 returns PEERAGENT_NO_RESPONSE 错误。

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

我想知道我做错了什么。

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

这必须是 Public 而不是 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"/>