【发布时间】:2019-10-18 11:50:57
【问题描述】:
所以 Unity 设置 Android 本地通知图标的方法是通过其在移动通知设置中的编辑器界面。基本上,将您的图标添加到编辑器的列表中,为每个图标指定一个 ID,然后在发送消息时将 LargeIcon 字段设置为 ID。或者,您可以将它们放在 Assets/Plugins/Android/res/drawable 中,而不是将图标添加到编辑器的列表中。
我不想做任何这些,而是想完全通过代码简单地指定一个 Texture2D 或 png 文件路径。比如:
LargeIcon = Application.persistentDataPath + "myNotificationIcon.png";
或
LargeIcon = Texture2D.getFile(); //or whatever the method would be.
我知道这行不通,因为发送通知的方法是预先构建的,仅分别从 Assets/Plugins/Android/res/drawable 和移动通知设置界面中获取图标或图标 ID 的名称。
所以我在想的是,也许有一种方法可以在运行时访问 Assets/Plugins/Android/res/drawable(或等效项),所以我可以在运行时通过代码将我的图标 png 添加到该文件夹,然后我可以正常发送通知,使用 png 文件名,但不必事先将其添加到 Assets/Plugins/Android/res/drawable 或 Mobile Notification 设置中。
ORR,如果有办法通过代码在移动通知设置中编辑列表。这是一个 Texture2D 列表,非常完美,但除了仅限编辑器的方法之外,我找不到以编程方式编辑该列表的方法。
旁注,如果在应用程序运行之前不知道通知图标,这将特别有用。就像您希望用户从他们的手机中选择一个自定义 png,然后您的应用程序将其用作通知。一个完美的例子是即时消息,其中的图标通常是发件人的个人资料图片,它可以是任何东西,并且显然在应用程序运行之前不知道。我知道这些是在线通知,而不是本地通知,但我如何使用本地通知做同样的事情?
【问题讨论】:
标签: c# android unity3d notifications icons