unity3d 从Android上的其他应用访问通知

kmbjn2e3  于 2022-11-15  发布在  Android
关注(0)|答案(2)|浏览(232)

bounty明天到期。回答此问题可获得+50声望奖励。Pretzl希望吸引更多人关注此问题。

我目前正在使用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();
};

这样我就可以得到通知的信息,这些信息是由应用程序本身发送的,而不是从其他应用程序发送的。有没有办法也从其他应用程序获得这些信息?

gwbalxhn

gwbalxhn1#

你有两个案子:

  1. Notification,位于Android栏顶部,由设备上的应用程序内部创建。
  2. Push Notification,我想这就是你想要的。
    它们之间的差异更多。
    如果你的情况是第二个,我认为是,我认为不,出于安全原因,你不能拦截来自另一个应用程序的推送通知。
    如果是第一个,是的,你可以创建一个插件,调用本地Android NotificationListenerService,并从那里管理结果,但要知道,你需要征求用户的许可。
    我认为Unity AndroidNotificationCenter只适用于调用它的Unity应用程序。
u5i3ibmn

u5i3ibmn2#

我用过Playstore中的通知日志应用程序。这些应用程序会获取通知文本、描述和时间等信息,并将其保存在里面。如果可能的话,你可以在它的帮助下创建类似的东西。
其中一个通知日志的回购我发现:https://github.com/interactionlab/android-notification-log
如果可能的话,您可以对此进行分析,并通过变通来制定要求。
我不知道这是否有帮助,只是希望把它放在周围。对不起,如果它没有

相关问题