diff --git a/app/src/mobile/util/onMessage.ts b/app/src/mobile/util/onMessage.ts index 3b47e4020..dabaf88dd 100644 --- a/app/src/mobile/util/onMessage.ts +++ b/app/src/mobile/util/onMessage.ts @@ -28,6 +28,10 @@ export const onMessage = (app: App, data: IWebSocketData) => { if (window.JSAndroid.sendNotification) { window.JSAndroid.sendNotification(data.data.channel, data.data.title, data.data.body, data.data.delayInSeconds); } + if (window.JSHarmony.sendNotification) { + window.JSHarmony.sendNotification(data.data.channel, data.data.title, data.data.body, data.data.delayInSeconds); + } + break; case "backgroundtask": if (!document.querySelector("#keyboardToolbar").classList.contains("fn__none") || diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 9348ebd9a..78336d690 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -274,6 +274,7 @@ interface Window { getScreenWidthPx(): number exit(): void setWebViewFocusable(enable: boolean): void + sendNotification(channel: string, title: string, body: string, delayInSeconds: number): void }; Protyle: import("../protyle/method").default; diff --git a/kernel/api/notification.go b/kernel/api/notification.go index 4b0a5a48c..9922396e2 100644 --- a/kernel/api/notification.go +++ b/kernel/api/notification.go @@ -34,9 +34,9 @@ func sendDeviceNotification(c *gin.Context) { return } - if util.ContainerAndroid != util.Container { + if util.ContainerAndroid != util.Container && util.ContainerHarmony != util.Container { ret.Code = -1 - ret.Msg = "Just support Android" + ret.Msg = "Just support Android and HarmonyOS" return }