43 lines
1.6 KiB
C#
43 lines
1.6 KiB
C#
using System.ComponentModel;
|
|
using System;
|
|
using Unity.Notifications.Android;
|
|
|
|
public partial class SROptions
|
|
{
|
|
[Category("通知相关"), DisplayName("通知id")]
|
|
public int NotificationID { get; set; }
|
|
|
|
[Category("通知相关"), DisplayName("发送通知")]
|
|
public void SendNotification()
|
|
{
|
|
#if UNITY_ANDROID
|
|
int id = Notification.Android.SetNotification("通知", "测试通知", DateTime.UtcNow.AddSeconds(5f), "small", "large", "测试", true);
|
|
DebugUtil.Log($"发送安卓测试通知,通知id{id}");
|
|
#endif
|
|
}
|
|
|
|
[Category("通知相关"), DisplayName("取消指定id通知")]
|
|
public void CancelNotification()
|
|
{
|
|
#if UNITY_ANDROID
|
|
Notification.Android.CancelNotification(NotificationID);
|
|
DebugUtil.Log($"取消安卓测试通知,通知id{NotificationID}");
|
|
#endif
|
|
}
|
|
|
|
[Category("通知相关"), DisplayName("获取指定id通知状态")]
|
|
public void GetNotificationStatus()
|
|
{
|
|
#if UNITY_ANDROID
|
|
NotificationStatus notificationStatus = Notification.Android.GetNotificationStatus(NotificationID);
|
|
string content = notificationStatus switch
|
|
{
|
|
NotificationStatus.Unavailable => "无法确定指定通知的状态。仅支持 Android Marshmallow (6.0) 及以上版本。",
|
|
NotificationStatus.Scheduled => $"id为{NotificationID}的通知已排定但尚未送达。",
|
|
NotificationStatus.Delivered => $"id为{NotificationID}的通知已发送(显示在状态栏中)。",
|
|
_ => $"找不到指定id为{NotificationID}的通知。",
|
|
};
|
|
DebugUtil.Log(content);
|
|
#endif
|
|
}
|
|
} |