2016-05-16 78 views
4

我正在后台运行一个进程,并且在最近的应用程序关闭应用程序之前我需要将其关闭(向右滑动方形按钮)。处理应用程序的事件已关闭(Ionic)

该应用程序使用插件来获取当前位置https://github.com/mauron85/cordova-plugin-background-geolocation和另一个使背景中的任务。后台插件调用位置插件,如果在位置存储过程中滑动应用程序,则通知将保留在抽屉中。

if(window.cordova && window.cordova.plugins.Keyboard) { 

     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 

     cordova.plugins.backgroundMode.enable(); 

     cordova.plugins.backgroundMode.onactivate = function() { 

     if(promise != []){ 
      $interval.cancel(promise); 
     } 
     promise = $interval(geolocation_function, 25000); 
     }; 

     cordova.plugins.backgroundMode.ondeactivate = function(){ 
     if(promise != []){ 
      $interval.cancel(promise); 
     } 

     promise = $interval(geolocation_function, 25000); 
     } 
    } 

地理定位函数调用到后台插件。我使用这个https://github.com/katzer/cordova-plugin-background-mode,我不知道如何控制这个。

我有什么功能可以用吗?谢谢。

+0

我看到的几个问题;如果你用离子形式运行它,你应该把你的服务调用包装在'$ deviceReady'中;我假设'promise'是一个'$ q'对象,但没有看到它的声明,我不能确定。 –

+0

我解决了使用window.onunload并关闭那里的服务。我记住你的建议,我保证会改善我的代码。非常感谢 :) –

回答

-1

我用这个事件来关闭该服务的应用程序被关闭

之前
.run(function(){ 
window.onunload = function(){ 
    backgroundGeoLocation.stop(); 
} 

})

0

你可以把此三个码在你的控制器:

$scope.$on('$ionicView.beforeLeave', YOURFUNCTION);

到在用户离开页面之前收听。

$ionicPlatform.on('pause', YOURFUNCTION); 
$ionicPlatform.on('resume', YOURFUNCTION); 

听当用户暂停和恢复应用程序:

相关问题