我们可以使用cordova事件监听器监听事件“恢复”和“解决”。在离子平台中,this corresponds to:
$ionicPlatform.on('resume', function() {
$rootScope.$broadcast('onResume');
});
$ionicPlatform.on('pause', function() {
$rootScope.$broadcast('onPause');
});
我的应用的某些页面需要决定才能发生(请参阅下面的authResolve)。
但是,一旦用户退出应用程序(双击iphone上的主页按钮),然后返回,如何再次调用该功能?就像你如何将resolve函数与上面的cordova事件监听器结合起来一样?谢谢!
app.js(部分内容)
.config(function($stateProvider, $urlRouterProvider) {
//
$urlRouterProvider.otherwise('/auth');
//
var authResolve = function ($q, Auth) {
var qResolve = $q.defer();
var AuthObj = Auth.getAuthObj();
switch (AuthObj.authStatus) {
case true:
qResolve.resolve("AUTH_RESOLVE_SUCCESS");
break
case false:
qResolve.reject("AUTH_RESOLVE_UNAUTHORIZED");
break
default:
qResolve.reject("AUTH_RESOLVE_OTHER", AuthObj);
break
};
return qResolve.promise;
};
// REST OF .config
.state('tab.album', {
url: '/dash/:albumName',
views: {
'menuContent': {
templateUrl: 'templates/tab-album.html',
controller: 'AlbumCtrl',
resolve: {authResolve: authResolve}
}
}
})
})
答案 0 :(得分:1)
我试试这个:
$ionicPlatform.on('resume', function() {
$state.transitionTo($state.current, $stateParams, {
reload: true,
inherit: false,
notify: true
});
});