亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果在打開通知之前關閉應用程序,則不會處理 HandleNotificationOpened

如果在打開通知之前關閉應用程序,則不會處理 HandleNotificationOpened

C#
慕妹3146593 2023-09-24 15:43:38
如果應用程序在后臺或正在運行,HandleNotificationOpened 工作正常,但如果我在應用程序關閉時打開通知,則不會觸發它。我嘗試使用 SecureStorage 保存事件中的數據,因為我不確定事件是否在錯誤的時間運行,或者根本不運行。public App(){    OneSignal.Current.StartInit("onesignal-id").HandleNotificationOpened(HandleNotificationOpened).HandleNotificationReceived(HandleNotificationReceived).EndInit();}private async void HandleNotificationOpened(OSNotificationOpenedResult result){    var data = result.notification.payload.additionalData;    if (data != null)    {        data.TryGetValue("Title", out object Title);        data.TryGetValue("Conteudo", out object Conteudo);        data.TryGetValue("Link", out object RLink);        string lastvar = (Title.ToString().GetHashCode() + Conteudo.ToString().GetHashCode() + RLink.ToString().GetHashCode()).ToString();        if (!ChecarDB(lastvar))        {            InserirDB(Title.ToString(), Conteudo.ToString(), RLink.ToString());        }        await SecureStorage.SetAsync("UrlFromPush", RLink.ToString());        var page = new MainPage();        MessagingCenter.Send<MainPage>(page, "MudarURL");    }}預期結果是應用程序正確處理事件,根本沒有錯誤消息。
查看完整描述

2 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

當應用程序關閉時,不會調用此方法。

雖然我沒有使用OneSignal來推送通知,但是根據Android/iOS系統通知處理機制,當app關閉時,當收到遠程通知時,點擊通知會重啟app,通知處理機制是通過系統托盤。

所以該HandleNotificationOpened方法不會被調用。


查看完整回答
反對 回復 2023-09-24
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

我已經使用 URI 方案來訪問早期初始化后臺數據解決了這個問題,用自定義格式化方法替換了 方法HandleNotificationOpened,Intent?.Data?.EncodedQuery;這就是我得到預期結果的方式。



查看完整回答
反對 回復 2023-09-24
  • 2 回答
  • 0 關注
  • 134 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號