質問本文で質問されていることは、質問のタイトルとは異なります。
リッスンするBOOT_COMPLETED
と、タイトルで要求されたことが文字通り実行されます。デバイスの電源がオンになるか、再起動されたときに、アプリケーションに制御が渡されます。
ユーザーがアプリケーションを終了して「通常の」ホーム画面に到達するのを防ぐという本当の目標を達成するだけでは十分ではありません。ユーザーが「終了」または「ホーム」を押すと、基本的にアプリを離れます。「終了」ボタンをインターセプトしてアプリを終了できないようにすることはできますが、「ホーム」ボタンをプログラムでブロックすることはできません。
ペアレンタル コントロールのようなアプリを作成し、ユーザーが不要なアプリにアクセスできないようにするには、「カスタム ホーム画面」または「カスタム ランチャー」を実装する必要があります (これは同じことです)。
かなり大きなトピックですが、これは良い出発点のようです: Android - カスタム ランチャーの作成。
また、作成者は「正確なコード」を主張しているため、(起動後または「ホーム」ボタンを押した後) ホーム画面の代わりにアプリを起動するには、マニフェストに次のものが必要です。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
インストール後、「ホーム」ボタンを押します。標準のランチャーまたはアプリのいずれかを選択できます。「デフォルトとして使用」にチェックを入れ、アプリを選択します。これ以降、通常のホーム画面の代わりにアプリが起動します。
ただし、カスタム ランチャーに関する既知の問題はほとんどないことに注意してください。1つは、設定へのアクセスをブロックする必要があります。そうしないと、ユーザーはデフォルトのランチャーに戻ることができます。また、アプリが更新された後 (つまり、新しいバージョンを投稿した後)、ユーザーは使用するホーム画面を尋ねられ、デフォルトのランチャーを選択できます。