Android串口通讯,在线程里一直监听是否有消息发来,接收到消息到runOnUiThread处理跳转页面,页面跳转关闭之后,在发送消息尽然还会执行在打开页面?

在Android应用中,一个线程持续监听串口并接收单片机消息。当收到特定指令时,通过runOnUiThread更新UI并跳转到新页面。然而,首次跳转后,旧页面仍会接收到并处理一次消息,导致页面意外重新打开。问题在后续通信中自行修复。源码展示了读取线程和数据处理方法。
摘要由CSDN通过智能技术生成
我写了一个线程,在线程里死循环一直在监听接收单片机给我发来的消息,接收到之后,进到处理数据的方法里,方法里面有个runOnUiThread线程,用来更新ui信息,当接收到我需要跳转页面的信息时,执行跳转页面,并关闭当前页面(activity1)。但是跳转之后,在新页面(activity2)接收消息,它尽然会在activity1页面在接收一次,在次执行了一遍跳转之前的代码。之后就会恢复正常。
也就是说,activity1页面如果是执行跳转activity2页面的话,它会吧同一个页面打开两次。如果在activity1页面在跳转前还有接收显示信息的话,那么我接收5条信息,第一次接收它会在activity1页面显示,跳转之后我在activity2页面在发送接收5条信息,它还是会在activity1页面接收,但之后就好正常了。
下面是源码:
private class ReadThread extends Thread {  
  
        @Override  
        public void run() {  
            super.run();  

            while (!isInterrupted()) {  
                int size;  
                try {  
                    byte[] buffer = new byte[30];  
                    if (mInputStream == null)  
                       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值