【问题标题】:How to Show Badge count on App icon in Xamarin Cross-Plotform Application for both Android and iOS如何在适用于 Android 和 iOS 的 Xamarin 跨平台应用程序中的应用程序图标上显示徽章计数
【发布时间】:2018-07-01 03:27:17
【问题描述】:

我正在尝试在收到通知时在 iOS 应用程序中添加图标徽章。 我有一个 PCL 项目,并且我已经从 Nuget 安装了Xam.Plugin.Badge,所以在我的AppDelegate.cs 文件中,我为 iOS 添加了以下代码行

CrossBadge.Current.SetBadge(number);

但在 Mac 模拟器中运行应用程序时,应用程序图标上没有显示徽章。 谁能纠正我做错的地方。

最好的问候, 斯里尼瓦斯。

【问题讨论】:

    标签: c# ios visual-studio xamarin.forms cross-platform


    【解决方案1】:

    根据官方文档ApplicationIconBadgeNumber,在iOS8+我们需要注册用户通知才能设置应用图标徽章编号:

    //Register this in the Appdelegate
    UIUserNotificationSettings settings = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Badge, null);
    UIApplication.SharedApplication.RegisterUserNotificationSettings(settings);
    

    然后您可以在 PCL 中使用 CrossBadge.Current.SetBadge(number); 更改应用程序的徽章

    另外如果你想在iOS原生平台设置徽章,可以直接尝试UIApplication.SharedApplication.ApplicationIconBadgeNumber = number;

    【讨论】:

    • 感谢 Land 的回复,我可以用 Mac 模拟器测试这个徽章计数还是需要任何物理设备来测试
    • @srinivaschalla 是的,你可以在模拟器上测试它。
    • public override bool FinishedLaunching(UIApplication app, NSDictionary options) { global::Xamarin.Forms.Forms.Init(); UIUserNotificationSettings 设置 = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Badge, null); UIApplication.SharedApplication.RegisterUserNotificationSettings(设置); CrossBadge.Current.SetBadge(10);加载应用程序(新应用程序()); return base.FinishedLaunching(app, options); }
    • 嗨,我在我的 Appdelegate.cs 文件中使用上面的代码块,并且我正在 Mac 中检查 iOS 6 11.2 版本的模拟器,但徽章显示在 App 图标中
    • 感谢土地它为我工作,非常感谢它在 iOS 上运行良好,在这里我如何在 Android 上使用同样的工作
    猜你喜欢
    • 2018-10-04
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    相关资源
    最近更新 更多