如何解决!!! FAILED BINDER TRANSACTION !!!

mmmmayi mmmmayi 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在手上的项目在真机上调试之后发现一开始还可以接受数据,在logcat中显示了receive data,但是会越来越卡顿,最后logcat中会显示下面的错误:

我在网上查了一下都说是因为传输的数据超过了1Mb,但是我传的数据没有那么大,而且一开始是可以传输的,不知道是不是哪里写错了,附上我的关键代码:
发送广播:
EEG_data[0]=Integer.valueOf(s1,16);
EEG_data[1]=Integer.valueOf(s2,16);
EEG_data[2]=Integer.valueOf(s3,16);
EEG_data[3]=Integer.valueOf(s4,16);
Intent intent = new Intent("com.android.smartphone.SmartphoneSystemActivity");
intent.putExtra("4_ch_data", EEG_data);
sendBroadcast(intent);
接收广播:
public class newStress extends Activity implements OnClickListener
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.newstress);
Display display = this.getWindowManager().getDefaultDisplay();

msgReceiver = new MsgReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.android.smartphone.SmartphoneSystemActivity");
registerReceiver(msgReceiver, intentFilter);
}

public class MsgReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int[] data = new int[4];
double[] ddata = new double[4];
int i;

data = intent.getIntArrayExtra("4_ch_data");
for (i = 0; i < 4; i++) {
ddata[i] = (double) (data[i]);
if (ddata[i] <= 8388607) {

ddata[i] = ((ddata[i] + 8388608) * 2.4 / 8388607);
} else {
ddata[i] = ((ddata[i] - 8388608) * 2.4 / 8388607);
}
// Log.i("display", "data: "+ddata[i]);
}
Process(ddata);

}
}

protected void onDestroy()
{
super.onDestroy();

Intent bluetoothserivce = new Intent (this,BluetoothActivity.class);
stopService(bluetoothserivce);
unregisterReceiver(msgReceiver);
super.onDestroy();
}



}
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
mmmmayi
Android 80,490 成员 91,375 内容