簡體   English   中英

從 Android 上的其他應用訪問通知

[英]Access Notifications from other apps on Android

我目前正在使用 Unity 的移動通知插件並開始想知道是否有可能在 Anroid 手機上獲取新傳入通知的信息。

例如:當我的 Unity 應用程序正在運行時,如果出現來自另一個應用程序的新通知,是否可以獲取它的文本、描述等? 當我嘗試時,我在這里使用了這段代碼:

void Start()
{
    AndroidNotificationCenter.OnNotificationReceived += receivedNotificationHandler;
}

AndroidNotificationCenter.NotificationReceivedCallback receivedNotificationHandler =
delegate (AndroidNotificationIntentData data)
{     
    TMP_Text textBox = GameObject.Find("NotificationsInfo").GetComponent<TMP_Text>();

    StringBuilder messageBuilder = new StringBuilder()
    .AppendLine("Notification received : " + data.Id)
    .AppendLine(" .Title: " + data.Notification.Title)
    .AppendLine(" .Body: " + data.Notification.Text)
    .Append(" .Channel: " + data.Channel);

    textBox.text = messageBuilder.ToString();
};

有了它,我只能獲取應用程序本身發送的通知信息,而不是其他應用程序發送的信息。 有沒有辦法從其他應用程序獲取信息?

你有兩種情況:

  1. 位於 Android 欄頂部的通知,是從設備上的應用程序內部創建的。
  2. 推送通知,我認為是你想要的。

他們之間的更多區別在這里

如果您的情況是第二種情況(我認為是),我認為不,出於安全原因,您不能攔截來自另一個應用程序的推送通知。

如果是第一個,是的,您可以創建一個調用本機 Android NotificationListenerService的插件,然后從那里管理結果,但請注意您需要征得用戶許可。

我認為 Unity AndroidNotificationCenter僅適用於調用它的統一應用程序。

我使用了 playstore 中提供的通知日志應用程序。 這些應用程序正在獲取通知文本、描述和時間等並將它們保存在里面。 如果可能的話,您可以在它的幫助下構建類似的東西。

我發現的通知記錄器的回購之一: https://github.com/interactionlab/android-notification-log

如果可能,您可以分析它並解決它以提出要求。

我不知道這個幫助與否,只是想把它放在身邊。 抱歉,如果沒有

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM