执行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
更多关于执行reminder提醒后,真机和模拟器的HarmonyOS 鸿蒙Next BMS服务异常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,BMS(Battery Management System)服务负责管理设备的电池状态和相关信息。执行reminder提醒后,真机和模拟器的BMS服务出现异常,可能涉及以下几个方面:
-
BMS服务与reminder的交互问题:reminder功能可能触发了某些系统级操作,导致BMS服务在处理电池状态时出现异常。例如,reminder可能影响了系统的唤醒机制或资源分配,进而干扰了BMS服务的正常运行。
-
系统资源冲突:reminder功能在执行时可能占用了系统资源,导致BMS服务无法正常获取或更新电池数据。这种资源冲突可能表现为BMS服务无法及时响应或返回错误信息。
-
真机与模拟器的差异:真机和模拟器的硬件和软件环境不同,可能导致BMS服务在两种环境下的行为不一致。例如,模拟器可能无法完全模拟真机的电池管理逻辑,从而导致异常。
-
BMS服务的实现问题:BMS服务在HarmonyOS Next中的实现可能存在缺陷,特别是在处理特定事件(如reminder)时。这种问题可能表现为服务崩溃、数据异常或功能失效。
-
日志分析:通过查看系统日志和BMS服务的相关日志,可以进一步确定异常的具体原因。日志中可能包含服务异常的错误码、堆栈信息或其他相关线索。
-
版本兼容性:如果reminder功能或BMS服务在某个HarmonyOS Next版本中存在已知问题,可能导致服务异常。检查当前系统版本和相关组件的更新情况,确认是否存在兼容性问题。
-
权限问题:reminder功能可能需要特定的系统权限,如果权限配置不当,可能影响BMS服务的正常运行。确保reminder功能具有必要的权限,并且不会干扰其他系统服务。
总结:执行reminder提醒后,真机和模拟器的BMS服务异常可能涉及BMS服务与reminder的交互、系统资源冲突、真机与模拟器的差异、BMS服务的实现问题、日志分析、版本兼容性和权限问题等方面。