Android中如何把handlerMessage中返回的数据返回给主线程调用?

问题描述:我在主线程中调用WebService,通过handleMessage成功获取服务器返回的Json字符串。不过我还需要调用另外一个WebService的接口,需要把上一个返回的的字符作为传入参数。现在的问题是不知道如何把handleMessage中的变量返回到主线程中。请问该如何做到,代码中就是想在onCreate中获取instanceId这个参数,该如何实现?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scan);
    init() ;
    setListen();
    getData();

              private void getData(){
    new Thread() {
        public void run() {
            Looper.prepare();
            myscanData= WebServiceUtil.getscanlist(taskId,locationId,userId,tokenSecurityLogin,mHandler);
            System.out.println("扫描巡更点后:"+myscanData);  //获取巡更点的实例
            Toast.makeText(getApplication(),instanceId,Toast.LENGTH_SHORT).show();
            //show();
            Looper.loop();
        }
    }.start();
}

** Toast.makeText(getApplication(),instanceId,Toast.LENGTH_SHORT).show();
}
............................................

final Handler mHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch(msg.what){
case GET_XunJianScan:
System.out.println("进入线路巡更点");
XunJianInstanceBean bean=new XunJianInstanceBean();
if (!msg.obj.toString().equals("error")) {
try {
myScanList.clear();
String strByJson = msg.obj.toString();

                        //Json的解析类对象
                        JSONArray jsonArray = new JSONObject(strByJson).getJSONArray("lzq");

                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject obj = ((JSONObject) jsonArray.opt(i));
                            String ID = obj.getString("ID");
                            String Remark = obj.getString("Remark");
                            String taskid=obj.getString("taskid");
                            String locationid=obj.getString("locationid");
                            String uid=obj.getString("uid");
                            String createdate1=obj.getString("createdate1");
                            String place=obj.getString("place");
                            bean.setID(ID);
                            bean.setRemark(Remark);
                            bean.setTaskid(taskid);
                            bean.setLocationid(locationid);
                            bean.setUid(uid);
                            bean.setCreatedate1(createdate1);
                            bean.setPlace(place);
                        **    instanceId=ID;**

                        }

                    }
                    catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                else {
                    Toast.makeText(getApplication(), "加载巡检数据失败", Toast.LENGTH_SHORT).show();
                }
                break;
        }
        if (mProgressDialog != null) {
            mProgressDialog.dismiss();
        }
    }
};

https://blog.csdn.net/qq_40922845/article/details/90247426