2016-05-29 1 views
-2

私は誕生日ベースのAndroidアプリを設計しています。このアプリは現在のシステム日付をチェックします。日付が誕生日の場合、アプリは音楽を開始し、他のアクティビティを許可します。それ以外の場合は、生年月日と終了時まで待機するエラーメッセージが表示されます。Androidで条件がTrueになるまで1分ごとに実行されるバックグラウンドタスクをスケジュールしたい

以下

はサンプルコードです:今

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
     Date dateobj = new Date(); 
     Date date1 = sdf.parse(sdf.format(dateobj)); 
     Date date2 = sdf.parse("2016-05-30"); 
     if (date1.compareTo(date2) >= 0) { 
// Start a music 
//Other task 
} 
else 
{ 
// You need to wait message 
} 

、私は、[おそらくalarmManagerが役立つかもしれないアプリが開いていない場合でも、この条件は自動的に60秒ごとに(1分)後にチェックしたいですしかし、私はどのように]、バックグラウンドタスクのようなものか分からない。この作業は、条件が真になるまで繰り返す必要があります。

誕生日前にユーザーがアプリを開くと、エラーアラートが表示され、アプリが終了します。

答えて

-1

これを達成するには、AlarmManager setRepeating関数を使用する必要があります。詳細については、このリンクを確認してください。https://developer.android.com/training/scheduling/alarms.html

コードが開いていなくても実行する必要がある場合は、BroadcastReceiverを使用する必要があります。 BroadcastReceiverをPendingIntentとしてAlarmManagerに渡す必要があります。

+0

これにお返事いただきありがとうございます。私はここで質問をする前に、与えられたリンクや他の複数のサイトを訪れましたが、私はこれを期待通りに動かすことができませんでした。 –

関連する問題