执行reminder提醒后,真机和模拟器的HarmonyOS 鸿蒙Next BMS服务异常

执行reminder提醒后,真机和模拟器的HarmonyOS 鸿蒙Next BMS服务异常 执行reminder提醒后,真机和模拟器的BMS服务异常。

提醒后,真机和模拟器的BMS服务异常。
真机需要恢复出厂默认后才能正常安装调测软件,否则报BMS异常,且文件管理,图库等软件均不能使用。
模拟器需要delete后新建一个模拟器。

故障发生后,重新安装调测软件报错
$ hdc shell am force-stop com.example.demo

$ hdc shell bm uninstall com.example.demo
[ERROR_GET_BUNDLE_INSTALLER_FAILED]
Troubleshooting guide

$ hdc file send D:\huaweihmosdep\demo\entry\build\default\outputs\default\entry-default-unsigned.hap /sdcard/afbe5c50f95d48ba9a493a462471536f/entry-default-unsigned.hap
$ hdc shell bm install -p /sdcard/afbe5c50f95d48ba9a493a462471536f/
[ERROR_GET_BUNDLE_INSTALLER_FAILED]
Troubleshooting guide

$ hdc shell rm -rf /sdcard/afbe5c50f95d48ba9a493a462471536f
Error while Deploying HAP

使用的IDE版本
DevEco Studio 3.1.1 Release
Build Version: 3.1.0.501, built on June 20, 2023
Build #DS-223.8617.56.36.310501
Runtime version: 17.0.6+10-b829.5 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Registry:
    external.system.auto.import.disabled=true

demo代码

import hilog from '@ohos.hilog'
import reminderAgentManager from '@ohos.reminderAgentManager';
import notificationManager from '@ohos.notificationManager';
@Entry
@Component
struct Index {
  @State message: string = 'Hello World'
  notifyDate : Date = new Date();
  notifyId : number = 200;
  build() {
    Row() {
      Column() {
        Button(this.message)
          .onClick(=>{this.addTimer();})
      }
      .width('100%')
    }
    .height('100%')
  }

  addTimer() {
    this.notifyDate = new Date();
    this.notifyDate.setSeconds(this.notifyDate.getSeconds() + 10);
    hilog.info(0x0000, 'testTag', '%{public}s', 'reminder time =' 
        + this.notifyDate.getFullYear()
        + " " + (this.notifyDate.getMonth() + 1)
        +" "+this.notifyDate.getDate()
        +" "+this.notifyDate.getHours()
        +" "+this.notifyDate.getMinutes()
        +" "+this.notifyDate.getSeconds())
    let targetReminderAgent: reminderAgentManager.ReminderRequestCalendar = {
      reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_CALENDAR,
      dateTime: {
        year: this.notifyDate.getFullYear(),
        month: this.notifyDate.getMonth() + 1,
        day: this.notifyDate.getDate(),
        hour: this.notifyDate.getHours(),
        minute: this.notifyDate.getMinutes(),
        second: this.notifyDate.getSeconds()
      },
      repeatMonths: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
      repeatDays: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
      actionButton: [
        {
          title: "close",
          type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_CLOSE
        },
        {
          title: "snooze",
          type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_SNOOZE
        },
      ],
      ringDuration: 5,
      snoozeTimes: 2,
      timeInterval: 5,
      title: "reminder title",
      content: "reminder content",
      expiredContent: "提醒已经过期",
      snoozeContent: "稍后提醒",
      notificationId: -1,
      slotType: notificationManager.SlotType.SOCIAL_COMMUNICATION
    }
    reminderAgentManager.publishReminder(targetReminderAgent).then(res => {
      this.notifyId = res;
    });
  }
}

更多关于执行reminder提醒后,真机和模拟器的HarmonyOS 鸿蒙Next BMS服务异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

更多关于执行reminder提醒后,真机和模拟器的HarmonyOS 鸿蒙Next BMS服务异常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,BMS(Battery Management System)服务负责管理设备的电池状态和相关信息。执行reminder提醒后,真机和模拟器的BMS服务出现异常,可能涉及以下几个方面:

  1. BMS服务与reminder的交互问题:reminder功能可能触发了某些系统级操作,导致BMS服务在处理电池状态时出现异常。例如,reminder可能影响了系统的唤醒机制或资源分配,进而干扰了BMS服务的正常运行。

  2. 系统资源冲突:reminder功能在执行时可能占用了系统资源,导致BMS服务无法正常获取或更新电池数据。这种资源冲突可能表现为BMS服务无法及时响应或返回错误信息。

  3. 真机与模拟器的差异:真机和模拟器的硬件和软件环境不同,可能导致BMS服务在两种环境下的行为不一致。例如,模拟器可能无法完全模拟真机的电池管理逻辑,从而导致异常。

  4. BMS服务的实现问题:BMS服务在HarmonyOS Next中的实现可能存在缺陷,特别是在处理特定事件(如reminder)时。这种问题可能表现为服务崩溃、数据异常或功能失效。

  5. 日志分析:通过查看系统日志和BMS服务的相关日志,可以进一步确定异常的具体原因。日志中可能包含服务异常的错误码、堆栈信息或其他相关线索。

  6. 版本兼容性:如果reminder功能或BMS服务在某个HarmonyOS Next版本中存在已知问题,可能导致服务异常。检查当前系统版本和相关组件的更新情况,确认是否存在兼容性问题。

  7. 权限问题:reminder功能可能需要特定的系统权限,如果权限配置不当,可能影响BMS服务的正常运行。确保reminder功能具有必要的权限,并且不会干扰其他系统服务。

总结:执行reminder提醒后,真机和模拟器的BMS服务异常可能涉及BMS服务与reminder的交互、系统资源冲突、真机与模拟器的差异、BMS服务的实现问题、日志分析、版本兼容性和权限问题等方面。

回到顶部