2016-12-06 3 views
1

たとえば、1つのアクティビティでバックグラウンドプロセスを開始しました(ユーザーの場所を取得するプロセスを考えてみましょう)。さて、応答を待つ前に、ユーザーを別のアクティビティにリダイレクトしました。だから、私はそのバックグラウンドプロセスに何が起こるかを知りたいですか?リダイレクト後も引き続き動作するのか、それとも一時停止するのでしょうか?Android - バックグラウンドアクティビティはどうなりますか?

+0

「バックグラウンドプロセス」とはどういう意味ですか? –

+0

@DavidWasser **非同期タスク**の** doInBackground(Params ... params)**の実行を意味します。 – Harshil

+0

リンクされた重複質問と非常に詳細な回答をお読みください。これはあなたが知る必要があるすべてのものと、 'Activity'と' AsyncTask'の関係についてより詳しく説明する必要があります。あなたが得た答えは 'AsyncTask'のために間違っています。あなたがあなたの質問に' AsyncTask'を使っていることを示していないので、回答した人はあなたを助けるために間違った道を下った。次回は、あなたが使っていることについてもっと具体的にしてください。 –

答えて

1

サービスは、サービスがそれを開始したコンポーネントが破壊されても、継続的に

アプリケーションコンポーネントは、そのような活動として、callingelyことによってそれを開始したときにサービスが開始され実行されて結合していないサービスがある場合。 startService()。サービスが開始されると、サービスを開始したコンポーネントが破棄されても、サービスは無期限にバックグラウンドで実行されます。

は、アプリケーションコンポーネントがbindService()を呼び出すことによって、それに結合したときにサービスがバインドされている

をバウンド。バインドされたサービスは、プロセス間通信(IPC)を使用して、コンポーネントがサービスとやりとりしたり、要求を送信したり、結果を取得したり、プロセス間でサービスを実行できるようにするクライアント/サーバーインターフェイスを提供します。

1

:あなたはあなたがここに知る必要があるすべてを見つけることができるサービス

になりますそのようなことを達成するためにプロセスがserviceまたはIntent Service番目にありませんあなたのプロセスが完了するという保証はありません。プロセスは一時停止する必要があります。これを処理する適切な方法は、Intent Serviceを使用することです。応答を処理するイベントバスを設定します。イベントバスとしてOttoを使用することをお勧めします。 Intent Service Tutorialもここにあります。

関連する問題