Android アプリケーションのコンポーネントには、 アクティビティ、 サービス、 コンテンツ プロバイダ、 ブロードキャスト レシーバーの 4 種類があります。アクティビティは画面を持つコンポーネント、 サービスはバックグランドで動作するコンポーネントです。
アプリケーションの形態によっては、 バックグランドで動作しているサービスからアクティビティを開始して画面表示をしたい、 といったことがあります。
start
メソッドでインテントを送信することでアクティビティを開始する方法が良く知られていますが、 実はこの方法には状況によって 5 秒程度の時間がかかるという落とし穴があります。