Android:JAVA 中线程上的任务顺序

Android: Task sequential on a thread in JAVA

BroadcastReceiver 收到动作事件并需要按顺序执行它们的用例。

这里Event1和Event2可以背靠背接收。必须完成 Event1 工作,然后才能开始 Event2 工作。

如何使其顺序化?

BroadcastReceiver{

onReceive(){

Event1:
Task1 doing Something different.//Cant run network operations here.

Event2:
Task2 doing Something different.//Cant run network operations here.

}

}

executors.newsinglethreadexecutor()handlerthread 是我正在寻找的选项..还有其他好的方法吗?

我有一个解决方案但是我不知道是否有比这个更好的解决方案

好吧至少它有效

在您的事件中使用 Asyntask

public class Event1 extends AsyncTask<Void,Void,Void>{
    @Override
    protected Void doInBackground(Void... params) {
        //use your Event 1 methode here
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        //call Event2 
        Event2 event2=new Event2();
        event2.execute();
    }
}
    public class Event2 extends AsyncTask<Void,Void,Void>{
        @Override
        protected Void doInBackground(Void... params) {
            //use your Event 2 methode here
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
            //call Event3
            Event3 event3=new Event3();
            event3.execute();
        }
    }

public class Event3 extends AsyncTask<Void,Void,Void>{
        @Override
        protected Void doInBackground(Void... params) {
            //use your Event3 methode here
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
            //everything would come after Event 3 write it here
        }
    }

发现executors.newsinglethreadexecutor()或handlerthread都可以处理顺序任务..