HarmonyOS 在应用开启屏幕共享时,如果应用退到后台,如何防止应用被后台移除呢?

在应用开启屏幕共享时,未防止应用处于后台被杀,准备绑定长时任务,但是长时任务中没有对应场景的绑定选项。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

需要开启长时任务防止进程被后台关掉。

示例参考:

startContinuousTask() {
  let wantAgentInfo: wantAgent.WantAgentInfo = {
    // 点击通知后,将要执行的动作列表
    // 添加需要被拉起应用的bundleName和abilityName
    wants: [
      {
        bundleName: "com.xxxx",
        abilityName: "com.xxxAbility"
      }
    ],
    // 指定点击通知栏消息后的动作是拉起ability
    actionType: wantAgent.OperationType.START_ABILITY,
    // 使用者自定义的一个私有值
    requestCode: 0,
    // 点击通知后,动作执行属性
    wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
  };

  // 通过wantAgent模块下getWantAgent方法获取WantAgent对象
  wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: WantAgent) => {
    backgroundTaskManager.startBackgroundRunning(this.context,
      backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => {
      console.info(`Succeeded in operationing startBackgroundRunning.`);
    }).catch((err: BusinessError) => {
      console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
    });
  });
}
stopContinuousTask() {
  backgroundTaskManager.stopBackgroundRunning(this.context).then(() => {
    console.info(`Succeeded in operationing stopBackgroundRunning.`);
  }).catch((err: BusinessError) => {
    console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
  });
}

onForeground(): void {
  // Ability has brought to foreground
  hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground');
  this.stopContinuousTask()
}

onBackground(): void {
  // Ability has back to background
  hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
  this.startContinuousTask()
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 应用手动退到后台
79浏览 • 1回复 待解决
HarmonyOS 应用退到后台显示toast的方案
794浏览 • 1回复 待解决
HarmonyOS如何退到后台退出socket
536浏览 • 0回复 待解决
HarmonyOS 应用进入后台,提示用户
26浏览 • 1回复 待解决
如何应用后台持续运行
17233浏览 • 2回复 待解决
HarmonyOS 应用后台问题
475浏览 • 1回复 待解决
HarmonyOS如何手动让应用进入后台
153浏览 • 0回复 待解决
应用后台发送请求失败问题
516浏览 • 1回复 待解决
应用中的请求如何防止中间者拦截
385浏览 • 1回复 待解决
HarmonyOS 如何应用后台运行
849浏览 • 1回复 待解决
如何开发一个纯后台应用
1888浏览 • 1回复 待解决
如何判断应用处于前后台
487浏览 • 1回复 待解决
Component如何监听应用后台切换
1209浏览 • 1回复 待解决
HarmonyOS 全局触摸应用后台未触发
27浏览 • 1回复 待解决