java - 从类到活动的数据传递问题
问题描述
安卓新手!基本上我试图为我的产品制作一个在 BT SPP 协议上运行的专有应用程序!所以我决定使用https://github.com/akexorcist/BluetoothSPPLibrary 一个类来处理来自 bt 设备的传出/传入数据的 bt 服务
发送数据没问题!但是当我尝试接收数据时根本无法在活动类中调用/接收数据
这是我的代码片段!
BTSpp.java
public interface OnDataReceivedListener {
public void onDataReceived(byte[] data, String message); /// for sending back data to the activity
}
...
//this is not executing cause log is not running when receives data
public void setOnDataReceivedListener (OnDataReceivedListener listener) {
Log.d("TAG", "setOnDataReceivedListener() returned: " );
if(null == mDataReceivedListener)
mDataReceivedListener = listener;
}
...
//Here is the snippet for reading data from bt service and
//it is showing log whenever i receives data from spp device
case BluetoothState.MESSAGE_READ:
byte[] readBuf = (byte[]) msg.obj;
String readMessage = new String(readBuf);
if(readBuf != null && readBuf.length > 0) {
if(mDataReceivedListener != null){
Log.d("TAG", "handleMessage() returned: "+mDataReceivedListener ); //executes
mDataReceivedListener.onDataReceived(readBuf, readMessage);}
}
break;
并在我的活动窗口 onCreate 方法中根本不执行此方法 MainActivity.java
BluetoothSPP bt=new BluetoothSPP(this); //initialized
{...}
bt.setOnDataReceivedListener(new BluetoothSPP.OnDataReceivedListener() {
@Override
public void onDataReceived(byte[] data, String message) {
Log.d(TAG, "onDataReceived() returned: " );
Log.i(TAG, "onDataReceived: "+message);
Log.i(TAG, "onDataReceived: "+data);
processIncomingdata(message);
}
});
也许这个函数不是从服务类调用的。我真的找不到任何线索!谁能给我一些建议!
先感谢您 !
解决方案
推荐阅读
- sql - 插入行中的 SQL-Missing 逗号错误
- javascript - 在 React 组件中动态创建 div 元素
- ruby-on-rails - ActiveRecord::StatementInvalid: OCIError: ORA-00955: name is already used by an existing object
- vue.js - 更改路由的查询定义属性时组合框不为空
- amazon-web-services - 有什么方法可以从新的 relic 中获取数据并将其发送到 API Gateway?
- reactjs - 如何在反应js中从父组件的孙子调用另一个子组件的API
- wordpress - 无论如何在WordPress中使用电子邮件和电话号码登录?
- java - 三星设备中通知待处理意图的问题
- apache-spark - 有没有办法在 Kafka Streaming 的“foreachBatch”函数中传递附加/额外参数?
- python - 为什么linux wc -l命令和python open打开的文件行数不一样?