2011-12-12 5 views
-1

나는 캘린더 객체를 생성하고 코드는 다음과 같다 :반복되는 알람이 작동하지 않는 이유는 무엇입니까?

Intent intent=new Intent(ListDemoActivity.this, Demo1.class); 
PendingIntent pi =PendingIntent.getBroadcast(ListDemoActivity.this, 0, intent,0); 
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); 
Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(System.currentTimeMillis()); 
calendar.set(Calendar.HOUR_OF_DAY,8); 
calendar.set(Calendar.MINUTE,0); 
calendar.set(Calendar.SECOND,2); 
Log.d("Test", "Current time: " + System.currentTimeMillis()); 
Log.d("Test", "Calendar time: " + calendar.getTimeInMillis()); 
//calendar.add(Calendar.SECOND,8); 
am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),10*1000,pi); 

내가 먼저 매 10 초 후에 알람을 트리거하기 위해 시도했지만 알람이 한 번만 트리거. 추가 한 후 현재 시간과 새 시간도 인쇄했지만 현재 시간은 새 시간보다 큽니다.

12-12 12:57:29.506: D/Test(783): Current time: 1323674849507 
12-12 12:57:29.506: D/Test(783): Calendar time: 1323657002506 

왜 코드가 작동하지 않습니까?

답변

0

PendingIntent 개체 생성 시간에 플래그를 설정해야합니다.

PendingIntent pi =PendingIntent.getBroadcast(ListDemoActivity.this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT); 
+0

나는 그 중 하나를 시도했지만 여전히 경보는 한 번만 발동되었습니다. 여기 매 2 초마다 알람을 반복하려고합니다.하지만 작동하지 않습니다. –

+0

캘린더 시간을 변경 하시겠습니까? – Pratik

+1

난 그냥 매 10seconds.now 난 후 캘린더 개체를 생성하고 사용 후 경보를 반복하고 싶습니다 calendar.add (Calendar.SECOND, 10); PendingIntent pi = PendingIntent.getService (ListDemoActivity.isis, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); \t \t am.setRepeating (AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10 * 1000, pi); 하지만 여전히 한 번만 알람이 발생합니다. 왜 이런 일이 발생 했나요? 아니면 내 코드에 문제가 있습니다. 도움을 요청하십시오. –

2

당신이이 라인을 추가했는지 확인 후 대기중인 의도를 잡기 위해 브로드 캐스트 리시버를 사용하는 경우 매니페스트

<receiver android:name="com.example.YourReceiver" android:enabled="true" android:process=":remote"></receiver> 
1

이봐 난 솔루션 사실은 내가 그렇게 활동에 그 코드를 구현하고있어 그것은 작동하지 않았다. 나는 서비스 클래스에서 그 중 하나를 시도하고 지금은 노력하고 있습니다.

관련 문제