2016-10-09 19 views
1

を実行します...アンドロイド - アラームマネージャは、私が間違っているか理解していないが、私のアラームが、私は一日数をハードコーディングしていても起こっていただきました、私は見当がつかない毎日走る毎日

Intent notificationIntent = new Intent(AddTask.this,CustomBroadcastReceiver.class); 
notificationIntent.putExtra(Intent.EXTRA_UID,newTaskId); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(AddTask.this, newTaskId, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
AlarmManager alarmManager = (AlarmManager)getSystemService(getApplicationContext().ALARM_SERVICE); 

Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(System.currentTimeMillis()); 
calendar.set(Calendar.HOUR_OF_DAY, hour); 
calendar.set(Calendar.MINUTE, minute); 
calendar.set(Calendar.DAY_OF_WEEK,2); 

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY * 7, pendingIntent); 

今日日曜日は1日ですので、私はcalendar.set(Calendar.DAY_OF_WEEK、2)を書きました。私はこの瞬間の時間と分を使用して以来、警報はちょうど三位一体になった...私は日番号1 2 3 4 5または6を設定するかどうか、または同じIDを持つ複数のアラームマネージャを作っても、毎日トリガーする

答えて

1

なぜこの行が必要ですか?

calendar.setTimeInMillis(System.currentTimeMillis()); 

また、Androidの開発documentation

setInexactRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation); 

EDITを使用することをお勧めします: 私は意思が、それは正しくアラームを作成していないので、アラームを作成するために設定されていない疑いがあります。 多分これは動作します:

Intent intent = new Intent(this, AlarmReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, 
intent, PendingIntent.FLAG_ONE_SHOT); 

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
//set repeating alarm here 

私はそれが質問に答える願っています。

+0

を動作させるための唯一の方法です。私はあなたが言ったように事を変更しました – uplnypan

+0

@uplnypanあなたは解決策を見つけましたか? – ItamarG3

+0

いいえ、悲しいことです...私は何が間違っているのか分かりません。アラームが削除されるまで、与えられた時間と曜日に永久にアラームを繰り返したいだけです。 – uplnypan

0

このようにアラームアプリケーションを作成したいすべての人に、これを解決しました>アラームをトリガーする時間と時間と曜日を設定すると、次のようになります。あなたはちょうどこののアラーム設定選びました:

calendar.set(Calendar.HOUR_OF_DAY, hour); 
calendar.set(Calendar.MINUTE, minute); 

をしかし、あなたが選んだ日には、あなたが選んだ最も近い日の日にあなたが持っている今日で一日されていない場合は、その後、単に追加の時間を設定し、分。

これは私が3にアラーム日設定し、今日の数は1であり、それは単にトリガーdoesnotそれは

関連する問題