服务中的Android线程

时间:2011-08-01 12:22:58

标签: android multithreading service

我需要在服务中编写线程。但我不确定如何做到这一点。必须有多个线程。 你能帮我吗?

3 个答案:

答案 0 :(得分:1)

您在服务中启动线程的方式与在任何方面启动线程的方式相同。使用Java线程,计时器或异步任务。

Java线程通常是这样开始的:

private Thread yourThread;
private NewRunnable yourRunnable;

@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
   ... code...
   yourThread = new Thread(yourRunnable);
   ... code...
}

private final class NewRunnable extends Runnable
{
   @Override
   public void run()
   {
     ... Code here will be run in new thread....
   }
}

答案 1 :(得分:1)

这种方式效果很好。

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

public class Servicio extends Service {

    @Override
    public void onCreate() {
        super.onCreate();
        initialize();
    }
    @Override
    public IBinder onBind(Intent arg0) {
        // TODO Auto-generated method stub
        return null;
    }
    public void initialize(){
        Thread th = new Thread(new Runnable() {

            @Override
            public void run() {
                //Your code ......

            }
        });
        th.start();
    }

}

答案 2 :(得分:0)

只需获取服务中的上下文并使用AsyncTask创建另一个线程......或者您也可以

new Thrad(){
public void Run(){
//your implementation..
}
}