Ionic - View Leave Events не вызывается, если закрыть вкладку из браузера или нажать кнопку «Домой» с мобильного телефона

0

$ ionicView.leave не запускается, если я закрываю вкладку из браузера или нажимаю кнопку домой с мобильного устройства. Меня это поразило из-за этого.

Он вызывается, если я оставляю экран в приложении. Я хочу, чтобы пользователь нажал кнопку "домой" или оставил функцию вкладки.

$scope.$on('$ionicView.leave', function(){

        Meteor.settings.public.global_stop_pool_messages = '';
        Meteor.settings.public.global_stop_pool_messages = true;
        //START CLOSE CHAT
        Meteor.call("closeChat", vm.chat_data, function(error, result){
          if(error){
            vm.chat_data.curr_secured_session_id = null;
                Toastr.show(error.reason, 'error');
                return false;
          } else {
            Meteor.settings.public.global_stop_pool_messages = '';
            Meteor.settings.public.global_stop_pool_messages = true;
            vm.chat_data.curr_secured_session_id = null;
          }
        }); 
        vm.chat_data = {
          last_message_id : 0,
          close_chat : true
        }

        /// START FEtCHING AGENT MESSAGES BY CALLING GET PENDING MESSAGES CALL
        Meteor.setTimeout(function(){
            ///
            Meteor.settings.public.global_stop_pool_messages = '';
            Meteor.settings.public.global_stop_pool_messages = true;
            Meteor.call("poolPendingMessagesOfChat", vm.chat_data, function(error, result){
              if(error){

              } else {

              }
            });
            ///
          }, 1 * 1000);
        });
  • 0
    Не могли бы вы опубликовать пример кода? Как вы используете событие $ionicView.leave в своем коде?
  • 0
    @Dexter сообщение обновлено
Теги:
ionic-framework
ionic-view

1 ответ

0

Событие, которое вы слушаете, описывается следующим образом:

Вид завершен, и он больше не является активным видом. Это событие будет срабатывать, будет ли оно кэшировано или уничтожено.

Но представление по-прежнему остается активным, но веб-сайт или приложение больше не находятся на переднем плане. Если вы используете Ionic как приложение, а не внутри веб-браузера, вы можете использовать события, которые предоставляет Кордова, например, pause чтобы узнать, нажал ли кто-нибудь кнопку дома, так как приложение будет приостановлено из-за того, что оно находится в фоновом режиме.

Поскольку вы используете Angular-Meteor, я бы порекомендовал вам посмотреть эту документацию, которая показывает, как вы регистрируетесь на событиях Кордовы, используя $ionicPlatform.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню