java - 取消无循环的AsyncTask

标签 java android android-asynctask

我想取消我的 Android 应用程序中的 AsyncTask。关键是,我的 AsyncTask 不包含循环,所以我不能使用 break。

这是我的 AsyncTask.doInBackground():

protected Void doInBackground(String... params) {
            String location = params[1];
            if(!location.matches("-?[0-9.]*,-?[0-9.]*")) {
                try {
                    location = Util.getLatLngFromMapsQuery(location);
                } catch (UnchainedAPIException e) {
                    setErrorCode(ERROR_GEO);
                    this.cancel(true);
                }
            }
            UnchainedAPI unchainedAPI = new UnchainedAPI(YELP_KEY, YELP_SECRET, YELP_TOKEN, YELP_TOKEN_SECRET,
                    FOURSQUARE_ID, FOURSQUARE_SECRET, GOOGLE_PLACES_KEY);
            try {
                nonChains = unchainedAPI.getUnchainedRestaurants(params[0], location);
            } catch (UnchainedAPIException e) {
                setErrorCode(ERROR_API);
                this.cancel(true);
            }

            if(nonChains.size() == 0) {
                setErrorCode(ERROR_API);
            }
            return null;
        }

我可以在这里做什么?

最佳答案

AsyncTask.cancel(boolean mayInterruptIfRunning) 

成功了。

或从任务内部:

cancel(true);

关于java - 取消无循环的AsyncTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32969250/

相关文章:

Android AsyncTask 用于网络目的是个坏主意吗?

安卓异步任务和

java - 为什么克隆不起作用?

Java 命令模式与 iPhone 委托(delegate)模式

java - 访问 Shoutcast 当前流信息

java - 如何让 Eclipse 知道启动配置已更改?

android - 无法在获取 react 原生时设置状态

java - 如何在 Android 中使用 json 响应显示数据库中的表格? (我在这段代码中收到 JsonArray Fail 错误)

java - AsyncTaks 的受控执行

android - 错误/AndroidRuntime(631) : FATAL EXCEPTION: main, ERROR/AndroidRuntime(631) : java. lang.StackOverflowError