我写了一个线程,在线程里死循环一直在监听接收单片机给我发来的消息,接收到之后,进到处理数据的方法里,方法里面有个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)
也就是说,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)