写hap测试程序,调用runningLock 的相关接口:create/hold/unhold, 但 hold不起作用,进行日志查看,发现接口调用失败,具体如下:

可能和 /sys/power/wake_lock  、/sys/power/wake_unlock 的权限有关。 

应用代码:

runningLock.create('running_lock_p1', runningLock.RunningLockType.BACKGROUND)
  .then(lock => {
    LogUtil.info('create running lock(promise,BACKGROUND) succeeds');
    LogUtil.info('After created, running lock(promise), isHolding:'+lock.isHolding());
    try {
      if(lock.isHolding()){
        lock.unhold();
        LogUtil.info('After unhold(),running lock isHolding:'+ lock.isHolding());
      }
      else
      {
        lock.hold(300000);
        LogUtil.info('After hold(),running lock isHolding:'+ lock.isHolding());
      }

    } catch(err) {
      LogUtil.error('hold running lock(promise) failed, err: ' + err);
    }
  })
  .catch(err => {
    LogUtil.error('create running lock(promise) failed, err: ' + err);
  });

请问:具体如何,才能调用成功呢?

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐