dcloud 5+ 监听安卓前后台切换状态 并后台运行程序

dcloud 5+ 监听安卓前后台切换状态 并后台运行程序

监听安卓前后台切换状态

	function monitorRunStatus() {
	  // 部分型号监听“应用从前台切换到后台”和“应用从前台切换到后台”事件会重复调用2次,加个判断
      var ispause = false;
      document.addEventListener(
        'pause',
        () => {
          if (!ispause) {
            ispause = true;
            // console.log('应用从前台切换到后台');
            appShowIsChange(true);
          }
        },
        false,
      );
      document.addEventListener(
        'resume',
        () => {
          if (ispause) {
            ispause = false;
            // console.log('应用从后台切换到前台');
            appShowIsChange(false);
          }
        },
        false,
      );
    }

切换到后台时程序继续运行

	function appShowIsChange(pageHide) {
      if (window.plus) {
        if (pageHide) {
          var currentMainActivity = plus.android.runtimeMainActivity();
          currentMainActivity.moveTaskToBack(false);
          console.log('将当前应用程序退到后台');
        } else {
          var currentMainActivity = plus.android.runtimeMainActivity();
          var systemActivityManager = currentMainActivity.getSystemService(currentMainActivity.ACTIVITY_SERVICE);
          plus.android.importClass(systemActivityManager);
          systemActivityManager.moveTaskToFront(currentMainActivity.getTaskId(), 0);
          console.log('恢复程序运行');
        }
      } else {
        document.addEventListener(
          'plusready',
          () => {
            if (pageHide) {
              var currentMainActivity = plus.android.runtimeMainActivity();
              currentMainActivity.moveTaskToBack(false);
              // console.log('将当前应用程序退到后台');
            } else {
              var currentMainActivity = plus.android.runtimeMainActivity();
              var systemActivityManager = currentMainActivity.getSystemService(currentMainActivity.ACTIVITY_SERVICE);
              plus.android.importClass(systemActivityManager);
              systemActivityManager.moveTaskToFront(currentMainActivity.getTaskId(), 0);
              // console.log('恢复程序运行');
            }
          },
          false,
        );
      }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值