2

スケジュールされた時間にアプリケーションを開く必要があります。私はこれを行う最善の方法を探し、かなり混乱しています。 私は現在BroadcastReceiverを使用してonBootに回答しています。それはうまくいくが、どちらの方法が次に行くのが最善か? AsyncTask ..または を設定する必要がありますか?Serviceを設定してください。 AlarmManagerまたはTimerTaskを使用してMain activityを開始する必要がありますか? BroadcastReceiverAlarmManager/TimerTaskを使用する必要がありますか? どのコースがベストプラクティスとなるのでしょうか?なぜですか?起動から所定の時間にアクティビティを開く方法

答えて

0

正確な精度が要求されない場合は、AlarmManagerを使用してください。これはユーザーに与える影響が最も少ないためです。それ以外の場合は、私は個人的にサービスを利用します。考慮する1つのケースは、ユーザーがアプリを開いて、時間の前に別のアクティビティに移動できることです。また、ユーザーはあなたのアプリを開いて、その前に再び離れることができます。

+0

とにかく数秒以内に精度がかなり重要です。 BroadcastReceiverがサービスをトリガーするようにすれば、そのサービスはTimerTaskを実行するはずですか?その後、タスクが実行されたら、アプリが既に起動しているかどうかなど、電話が覚醒する必要があるかどうかを確認できます。 – Amos

関連する問題