在本文中,我将向您展示如何验证用户是否启用或禁用.NET MAUI中的Android和iOS的应用程序。
创建一个静态类NotificationShelper
public static bool AreDeviceNotificationsEnabled()
{
#if ANDROID
return AndroidX.Core.App.NotificationManagerCompat.From(Platform.CurrentActivity).AreNotificationsEnabled();
#elif IOS
var settings = UIKit.UIApplication.SharedApplication.CurrentUserNotificationSettings.Types;
return settings != UIKit.UIUserNotificationType.None;
#endif
}
证实
通过询问用户是否想打开应用程序设置,这是一种很好的做法,以便他们启用通知。
if (!AreDeviceNotificationsEnabled())
{
if (showAlert)
{
var result = await Application.Current.MainPage.DisplayAlert("Enable Notifications", "Your notifications system are currently turned off", "Go to Settings", "Cancel");
if (result)
{
AppInfo.ShowSettingsUI();
}
}
}
结论
在.net maui中,您可以实现允许基于每个平台执行代码的静态方法非常容易。当然,如果您希望避免声明条件,则可以始终使用 .ios.cs 和 .android.cs 文件类命名约定。
感谢您的阅读!在Twitter上关注我 @ivictorhugo