2011-08-18 3 views
1

에서 실행되지.시스템 알림은 내가 크로스 도메인 <strong>의 RSS <a href="http://code.google.com/apis/feed/" rel="nofollow"><strong>Google-Feed API</strong></a>를 사용하여</strong>를 공급 읽고 새 피드를 사용할 수있는 경우 사용자에게 시스템 알림을 보냅니다 <strong>폰갭</strong>를 사용하여 웹 응용 프로그램을 개발 한 배경

푸시 알림 생성에이 Phonegap System Notification Plugin을 사용했습니다.

이것은 플러그인과 함께 제공되는 SystemNotificaton.java입니다.

이것은 자바 스크립트 파일에서 사용할 수있는 모든 방법을 가진 플러그인과 함께 제공되는 SystemNotification.js 파일입니다.

이 파일은 내가 두 개의 별도의 RSS 피드 피드 URL을 읽고 두 가지 기능을 만들었 된 자바 스크립트 내 notification.js 내가 모든 일 min.I도 navigator.systemNotification.onBackground라고 한() 함수를 호출하는 setIntervals을 사용했다; 메소드가 동일한 함수 내에 있으므로 내 앱이 활성화되어 있지 않으면이 함수는 백그라운드에서 계속 실행되며 새 피드가 표시되면 사용자에게 알림을 표시합니다.

문제는 응용 프로그램이 시작된 후 알림을받습니다. 응용 프로그램을 닫으면 1-2 일 후에 알림이 중단됩니다. 나는 구글 피드 API를 사용하고 있기 때문에 실시간이 아니지만 이틀 후에도 작동하지 않는다는 것을 알고있다. onbackground 메소드가 작동하지 않는 것처럼 보입니다. 누구든지 내가하고있는 실수를 지적 할 수 있을까?

답변

2

나는 Phonegap에 대해 많이 알지 못하지만, 안드로이드 개발에 관해서는 상당히 알고 있고, 내게는 알림이 문제가 아닌 것처럼 들린다. (덧붙여 말하자면, 이것들은 통보 일 뿐이며 "푸시"알림이 아닙니다. 그들은 또 다른 짐승입니다.)

응용 프로그램이 단순히 멈추는 것 같고 아무 것도 시작하지 않을 것으로 생각됩니다. 안드로이드 OS는 다양한 이유로 백그라운드 애플리케이션을 죽일 것입니다. 서비스로 구현 된 경우 OS는 어느 시점에서이를 다시 시작해야하지만 완전히 신뢰할 수는 없습니다.

기본적으로 서비스를 보모하기 위해 알람을 설정하고 그것이 살아 있는지 확인해야합니다. 이것이 PhoneGap에서 가능하다면 setInterval을 없애고 알람을 사용하여 앱을 깨우고 RSS 폴링 동작을 트리거하는 것이 좋습니다. 이것의 이점은 장치가 잠자기 상태 일 때도 작동한다는 것입니다.

빠른 검색을 약간 수행하면 PhoneGap에 AlarmManager에 대한 액세스 권한이 없음을 나타냅니다. 플러그인으로 할 수도 있지만 PhoneGap은 백그라운드 서비스에 대한 좋은 프레임 워크로 나를 공격하지 않습니다. 진정한 네이티브 앱은이 맥락에서 훨씬 더 잘 작동 할 것입니다.

관련 문제