ユーザーが入力した日付を配列に格納するアプリを作成しました。ここで、アプリのバックグラウンドで何らかのアクションを実行したいと考えています。バックグラウンドで、デバイスの現在の日付と配列に格納されているデータを比較するチェックが必要です。一致が見つかったら、ダイアログを開きたいです。アプリの終了時にバックグラウンドでいくつかのタスクを実行することは可能ですか?
例を教えてください。このトピックについてはわかりません。
ユーザーが入力した日付を配列に格納するアプリを作成しました。ここで、アプリのバックグラウンドで何らかのアクションを実行したいと考えています。バックグラウンドで、デバイスの現在の日付と配列に格納されているデータを比較するチェックが必要です。一致が見つかったら、ダイアログを開きたいです。アプリの終了時にバックグラウンドでいくつかのタスクを実行することは可能ですか?
例を教えてください。このトピックについてはわかりません。
最善の解決策は、サービスを使用することです。詳細については、次のドキュメントを参照してください。
http://developer.android.com/reference/android/app/Service.html
そして、良いチュートリアルはこれです:
特定の日付にポップアップを表示する必要があるだけの場合は、サービスは必要ありません (バッテリーが消耗し、ユーザーにとって不快になります) が、AlarmManagerを使用できます。
ここで多くの例を見つけることができます
onKeyDown()
Backpressed を処理するために Android 1.x またはonBackPressed()
Android 2.x でオーバーライドすると、IntentService を開始して 、アプリの終了時にバックグラウンドで何らかのタスクを実行できます。
android-fundamentals-intentservice-basics を参照してください
http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/
Android - onBackPressed() が機能しない
docsが言うように、バックグラウンドでタスクを実行するにはIntentSericeを使用します。
IntentService は、オンデマンドで非同期要求 (インテントとして表現) を処理するサービスの基本クラスです。クライアントは startService(Intent) 呼び出しを介してリクエストを送信します。サービスは必要に応じて開始され、ワーカー スレッドを使用して各インテントを順番に処理し、作業がなくなると停止します。