2014-11-27 6 views
0

최근에이 앱의 새로운 기능을 일부 개발 중입니다. 내 앱은 특정 시간과 특정 장소에서 발생하는 다양한 이벤트를 표시하는 것입니다. 이제 사용자가 좋아하는 이벤트를 저장할 수 있기를 원합니다. 이는 해당 이벤트에 참석하기를 원할 가능성이 있음을 의미합니다. 사용자가 이벤트를 즐겨 찾기로 표시하면 이벤트 시간과 장소, 이름, 설명과 같은 기타 세부 정보가 장치에 저장됩니다. 이제 내가 어려움을 겪고있는 부분이 알림 부분입니다.백그라운드 서비스에서 실행되는 인앱 알림 android

내가 원하는 것은 이벤트가 시작되기 1 시간 전의 시간 일 때 이벤트가 1 시간 후에 시작된다는 것을 사용자에게 알리기 위해 알림이 트리거되어야한다는 것입니다. 의제 알림과의 비유라고 말하면됩니다.

이제 문제는이를 구현하는 올바른 방법입니다. 나는 NotificationAndroid에서 사용하는 방법을 알고 있으며 또한 background services을 어떻게 사용하는지 알고 있습니다. 저는 튜토리얼을 많이 읽었습니다 : http://www.tutorialspoint.com/android/android_services.html, 그러나 그것을 구현하는 올바른 방법이 무엇인지 모르겠습니다.

데이터를 데이터베이스에 저장하고 백그라운드 서비스를 실행하여 전화 시간이 이벤트에 대한 알림을 트리거 할 권한이 있는지 정기적으로 확인하십시오.하지만 서비스가 무기한으로 실행될 것이라고 말합니다 백그라운드에서.

거기에 저장되어있는 값을 확인하는 데이터베이스의 일부 저장 프로 시저를 사용하여 시간이되면 알림을 트리거하는 서비스가 트리거됩니다.

내가 올바른 방법을 따르고 있는지 알 수 없으므로 진행하기 전에이를 분명히해야합니다.

나에게 도움이되는 튜토리얼이나 저에게 도움이되는 아이디어가 있습니까?

답변

0

데이터를 데이터베이스에 저장하고 일정 시간 동안 전화가 이벤트 알림을 트리거 할 수 있는지 주기적으로 확인하는 백그라운드 서비스를 실행하는 것도 한 가지 방법입니다.하지만이 서비스는 백그라운드에서 무한정 실행됩니다.

이것은 다소 낭비입니다. "우리가 아직 거기 있니? 아직 거기 있니?"라고 외치는 차 뒷좌석에있는 아이들의 프로그래밍에 상응 하는가?

거기에 저장되어있는 값을 확인하는 데이터베이스의 일부 저장 프로 시저를 사용하여 시간이되면 알림을 트리거하는 서비스가 트리거됩니다.

Android에서는 지원되지 않습니다.

또는 내가 당신이 이벤트 전에 한 시간을 제어 할 수 안드로이드에게 같은 일

Use AlarmManager를 달성하는 데 도움이 다른 생각. AlarmManager과 함께 사용하는 PendingIntentNotification을 발생시킬 수있는 앱에서 BroadcastReceiver을 트리거 할 수 있습니다.

+0

'AlarmManager'는 어떻게 든 해결 될 수 있습니다. 그러나 사용자가 특정 카테고리의 알림을 전환하려는 경우 (예 : 수시로 이벤트 목록을보고 싶지만 알림을받지 않으려한다고 가정) 또는 다른 경우에는 그가 좋아하는 목록에서 특정 이벤트를 제거합니까? – Xhulio

+0

@ Xhulio : 이는 단지 'AlarmManager' 이벤트를 취소하고 일정을 조정하는 것과 같은 프로그래밍의 문제 일뿐입니다. – CommonsWare