$rootScope.$on('$cordovaLocalNotification:trigger', function(event, notification, state) {
//code
});
위의 코드를 시도했지만 알림이 표시되는 동안 앱이 이미 열려있는 경우에 한합니다. 앱을 열지 않은 동안 실행 된 모든 알림을 계산하고 싶습니다. 어떨까요?Ionic v1 로컬 알림 트리거 상태
$rootScope.$on('$cordovaLocalNotification:trigger', function(event, notification, state) {
//code
});
위의 코드를 시도했지만 알림이 표시되는 동안 앱이 이미 열려있는 경우에 한합니다. 앱을 열지 않은 동안 실행 된 모든 알림을 계산하고 싶습니다. 어떨까요?Ionic v1 로컬 알림 트리거 상태
나는 로컬 저장소에 이러한 알림을 준비 했으므로 장치 준비가되어 있고 현재 시간을 예정된 시간과 비교하고 트리거 된 모든 알림을 계산하고 그렇지 않은 것으로 계산합니다.
응용 프로그램 코드는 계속 실행할 수 없습니다 (단지 예를 들어 안드로이드와 배경에 넣어하지 않음) 최신 카운터는 localStorage 또는 Sqlite-DB에 저장됩니다 (예 :).
그래서 귀하의 요청이 충족되도록 카운터 증가 할 수있는 유일한 방법 : 나는 응용 프로그램이
당신은이
을 열지 않은 동안 트리거 된 모든 알림을 계산 할을 사용 :
$rootScope.$on('$cordovaLocalNotification:click', function(event, notification, state) { // increase counter in your localStorage or Sqlite-DB here });
을하기 때문에이 doc 상태로 :
앱이 실행 중이 아니면 deviceready 후에도 click 이벤트가 호출됩니다.
앱이 열려 있든 없든 알림을 클릭하면 클릭 이벤트가 항상 호출됩니다. iOS에서
앱이 열려되지 않았거나이
앱이 시작되는 동안
- 를 클릭 한 경우에만 알림을 계산하고자하지만, 사용자가 응용 프로그램 외부에있는 경우 (관련 있기 때문에 app-code는 백그라운드에 넣거나 닫을 때 실행되지 않습니다.
당신은이 방법으로 작업을 수행 할 수 있습니다
$ionicPlatform.ready(function() { // .... $rootScope.$on('$cordovaLocalNotification:click', function(event, notification, state) { if(state === "background"){ console.log("increase counter"); } }); // or if the first does not fire like with me, then use this instead: cordova.plugins.notification.local.on('click', function (notification, state) { if(state === "background"){ console.log("increase counter"); } }); // .... });
희망이뿐만 아니라 도움이됩니다.
감사합니다. 그러나 이것으로 사용자가 클릭하지 않으면 계산할 수 없습니다. 이 방법으로 솔루션을 찾았습니다. 로컬 저장소에 이러한 알림이 있습니다. 장치 준비가되었습니다. 현재 시간을 예정된 시간과 비교하고 트리거 된 모든 알림을 계산합니다. ;) –