Android 从异步任务返回结果

Android 从异步任务返回结果,android,android-asynctask,Android,Android Asynctask,异步任务类: public int postToTwitter(String msg) { String url = null; new ImageSender().execute(); // Twitlink I have to pass in next line but it showing null twitter.updateStatus(msg+" "+twitlink); return 1; } 私有类ImageSender扩展异步任务{

异步任务类:

public int postToTwitter(String msg) {
    String url = null;

    new ImageSender().execute();
    // Twitlink I have to pass in next line but it showing null
    twitter.updateStatus(msg+" "+twitlink);

    return 1;
}
私有类ImageSender扩展异步任务{
私有字符串url;
受保护的void onPreExecute(){
mProgressDialog=ProgressDialog.show(OutgoingHome.this,“,“发送图像…”,true);
mProgressDialog.setCancelable(假);
mProgressDialog.show();
}
受保护的长doInBackground(URL…URL){
长结果=0;
ImageUpload upload=ImageUpload.getTwitpicUploader(“8B8F5DB5CA3837988509AF8459F968DBC”,auth);
试一试{
twitlink=upload.upload(新文件(路径));
结果=1;
}捕获(例外e){
}
返回结果;
}
受保护的void onPostExecute(长结果){
mProgressDialog.cancel();
}
}

最简单的方法是使用
异步任务的
get()
方法。另一种方法是实现一个
OnResultListener
,并在
AsyncTask
onPostExecute()
中调用它的
onResult()
方法。然而,第一个解决方案应该足够了。希望这有帮助。

您希望返回什么结果?
private class ImageSender extends AsyncTask<URL, Integer, Long> {
    private String url;

    protected void onPreExecute() {
        mProgressDialog = ProgressDialog.show(OutgoingHome.this, "", "Sending image...", true);
        mProgressDialog.setCancelable(false);
        mProgressDialog.show();
    }

    protected Long doInBackground(URL... urls) {            
        long result = 0;

        ImageUpload upload = ImageUpload.getTwitpicUploader ("8b8f5db5ca383798509af8459f968dbc",auth);
        try {
            twitlink = upload.upload(new File(path));
            result = 1;
        } catch (Exception e) {        

        }

        return result;
    }

    protected void onPostExecute(Long result) {
        mProgressDialog.cancel();
    }
}