首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单独的线程上运行服务?

如何在单独的线程上运行服务?
EN

Stack Overflow用户
提问于 2011-04-23 15:40:49
回答 1查看 5.8K关注 0票数 8

我需要在一个单独的线程上运行一个服务。这是因为它访问一个可以花费5-10秒的get服务,而我不想获得ANR。我也将绑定到这项服务。我找到了一种方法,可以在一个单独的线程中启动该服务,如下所示:

代码语言:javascript
复制
Thread t = new Thread(new Runnable() {

            public void run() {
                //Launch and/or Bind to service here
            }
        });
        t.start();

但是,我相信这只会在一个新线程中运行启动代码,而服务本身则在主线程中运行。那么,我如何在另一个线程中运行服务中的所有代码呢?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2011-04-23 15:43:37

您可以使用IntentService

IntentService是按需处理异步请求(表示为意图)的服务的基类。客户端通过startService(意向)调用发送请求;服务是根据需要启动的,使用工作线程依次处理每个意图,并在工作结束时停止自身。

http://developer.android.com/reference/android/app/IntentService.html

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5765135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档