目前我正在为三星智能手表创建一个安全应用程序。我希望用户能够在智能手机上注册并将这些数据发送到智能手表应用程序。我按照配件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)
}
我想知道我做错了什么。
答案 0 :(得分: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,数据到高:
<serviceChannel
id="104"
dataRate="high"
priority="low"
reliability="enable"/>