2012-06-05 5 views
2

사용자가 EditText 필드 (또는 Datepicker)를 사용하여 날짜를 선택하기 만하면 응용 프로그램이 SQLite 데이터베이스에 저장합니다. (나는 그 달의 날짜 만 저장하므로 특정 날짜에 매월 - 1 일, 10 일, 22 일 등 - 팝업됩니다.) 알림 시스템이 돌아오고 해당 날짜를 확인하고 "알리미" 알림을 상태 표시 줄에 표시하면 애플리케이션을 앱으로 직접 가져 와서 특정 정보를 업데이트 할 수 있습니다.상태 표시 줄 알림의 특정 날짜 설정

간단한 튜토리얼 here ("기본 사항"섹션 참조)을 기반으로 알림이 팝업되는 시점을 결정하는 "when"변수는 무엇입니까? 그렇다면 데이터베이스에서 동적으로 생성 된 날짜 변수로 채울 수 있습니까?

답변

2

알림 시스템이 돌아오고 해당 날짜를 확인하고 상태 표시 줄에 앱에 직접 연결하여 특정 정보를 업데이트하는 "미리 알림"알림을 표시합니다.

"알림 시스템"으로 "내가 작성한 앱"을 의미하는 경우 가능합니다. 지정된 시간 동안 알람을 예약하려면 AlarmManager을 사용하고 Notification을 만들고 표시 할 수있는 BroadcastReceiver으로 컨트롤을 라우팅하십시오.

여기에있는 간단한 안내서 (주석 "기본 사항"섹션)를 기반으로 알림이 팝업되는 시점을 결정하는 "when"변수는 무엇입니까?

No. 표시 목적으로 Notification과 연관된 타임 스탬프입니다 (예 : 알림 상자에 나타날 수 있음).

+0

이것이 내가 필요한 것 같습니다. 그것은 행동으로 퍼팅까지,이 링크에서 시작하는 것이 좋은 장소처럼 보이나요? (http://smartandroidians.blogspot.com/2010/04/alarmmanager-and-notification-in.html) – KickingLettuce

+0

@ KickingLettuce : 모든 것을 자세히 살펴 보진 않았지만 괜찮을 것입니다. – CommonsWare

0

예 날짜는 특정 시점부터의 시간, 밀리 초 단위로 표시되는 긴 값으로 당신에게 그 값을 반환하는 방법

long when = mDate.getTime(); 
0

아니, 생각 (같은 방식으로 System.currentTimeinMillis()가 작동)가 "언제"는 사건이 언제 일어 났는지 나타 내기로되어 있습니다. 을보고 setWhen(long when)을 검색하십시오.

알림을 즉시 표시하지 않으려면 장기간 사용하는 서비스에서 나만의 타이머를 설정해야합니다. 서비스를 계속 운영 할 수 있다면 Handler 클래스, 특히 postAtTime() 메소드를 살펴보십시오.

+2

"장기 실행 서비스"를 사용하는 것은 "특정 날짜에 매월 - 1, 10, 22 등 - 그것이 팝업"으로 적합하지 않습니다. 이것은'AlarmManager'가 사용하는 것입니다. – CommonsWare

+0

달콤한! 좋은 노트 - 이전에'AlarmManager'에 대해 들어 본 적이 없었습니다. 제 변명은 그렇게 할 필요가 없다는 것입니다. 그걸 대답으로 써야합니다! –