1

たとえば、ASyncTask でサービスを開始する方法

MyTask task = new MyTask();
startService(new Intent(MainActivity.this, MyService.class),    task);

これを行う正しい方法は何ですか?

どのスレッドが実行されているかをサービスに伝えたい

4

1 に答える 1

0

Android 開発者からの引用。:

AsyncTask を使用すると、UI スレッドを適切かつ簡単に使用できます。このクラスを使用すると、スレッドやハンドラーを操作することなく、バックグラウンド操作を実行し、UI スレッドで結果を発行できます。

直接 startService を使用していない場合は、新しいスレッドで開始したいのですか?その場合は、新しいスレッドを作成する必要があります:

Thread t = new Thread(){
public void run(){
getApplicationContext().bindService(
        new Intent(getApplicationContext(), YOURSERVICE.class),
        serviceConnection,
        Context.BIND_AUTO_CREATE
    );
}
};
t.start();
于 2013-01-23T18:56:32.173 に答える