BrodcastReceiver を一時停止することも、postDelayed を Handler(); にすることもできません。
そのスレッドは他の処理を行う必要があるため、停止するべきではありません。また、設計が悪いためブロックしないでください。
ドキュメントからの理由により、postDelay はできません。
onReceive() から戻ると、BroadcastReceiver はアクティブではなくなり、そのホスティング プロセスは、そこで実行されている他のアプリケーション コンポーネントと同じくらい重要になります。これは特に重要です。そのプロセスが BroadcastReceiver のみをホストしていた場合 (ユーザーが一度も対話したことがない、または最近対話していないアプリケーションの一般的なケース)、システムは onReceive() から戻ると、そのプロセスが空であると見なし、積極的に強制終了するためです。他のより重要なプロセスにリソースを使用できるようにします。
つまり、 onReceive() から返された瞬間に、これはすべて非常に速く殺される可能性があります。
ブロードキャストの後に何かを起こしたい場合は、サービスを開始し、そのサービスがその時間だけ待機するか、待機する時間が数秒より長い場合は、次の起動を配置する必要があります。このサービスを AlarmManager に追加し、AlarmManager がサービスを起動できるようにします。