如何在android中中止spring-android rest模板请求

Posted

技术标签:

【中文标题】如何在android中中止spring-android rest模板请求【英文标题】:How to abort spring-android rest template request in android 【发布时间】:2014-01-24 12:43:50 【问题描述】:

Spring-android 库中是否有任何方法可以中止休息模板请求?

任何指针都会有很大帮助。

【问题讨论】:

【参考方案1】:

我不知道您要求的功能。 但也许你知道超时的时间。所以你可以使用连接超时: RestTemplate Constructor

int timeOutMillis = 5000;//example 5 seconds
        ClientHttpRequestFactory requestFactory;

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) 
            requestFactory = new SimpleClientHttpRequestFactory();
            ((SimpleClientHttpRequestFactory) requestFactory).setConnectTimeout(timeOutMillis);
         else 
            requestFactory = new HttpComponentsClientHttpRequestFactory();
            ((HttpComponentsClientHttpRequestFactory) requestFactory).setConnectTimeout(timeOutMillis);
        
        RestTemplate restTemplate = new RestTemplate(requestFactory);

您可以创建一个 AsyncTask 并杀死它:)

AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() 
            @Override
            protected Void doInBackground(Void... params) 
                RestTemplate restTemplate = new RestTemplate();
                restTemplate.delete("http://example.com");
                return null;
            
        .execute(); //Task run

        task.cancel(true); //Cancel task and so the request

希望这已经足够了,抱歉,但在 Spring Docs 中找不到其他内容...

【讨论】:

以上是关于如何在android中中止spring-android rest模板请求的主要内容,如果未能解决你的问题,请参考以下文章

为啥 apk 仅在 Android 10 的发布版本中中止?

如何中止 LocalServerSocket.accept

/apex/com.android.runtime/lib64/bionic/libc.so (abort+160),在 Android 10 设备中中止崩溃

Android 4.4.2 SSL 握手中止

Android 中止广播接收器

Android蓝牙:软件导致连接中止IOException? [复制]