Windows Phone 8 中检测推送通知是否会因为节电模式而被禁用

        用于启用此功能的 API 仅在具有 (操作系统版本号 8.0.10492)或更高版本的设备上可用。在尝试使用此功能之前,您必须检查设备的操作系统版本。

        如果用户已在其手机上启用节电模式功能,且电池低于使节电模式处于活动状态的最小电量阈值,将禁用推送通知的接收以节省电源。如果您的应用很大程度上依赖于推送通知,建议您检测何时启用节电模式,并警告用户当节电模式处于活动状态时将不会收到推送通知。

        若要检测何时启用节电模式,您必须检测 PowerManager.PowerSavingModeEnabled 属性。因为此属性仅可用于运行 的设备,因此您必须在检查设备操作系统版本后通过反射访问此属性。以下示例向您显示了如何检测节电模式当前是否处于启用状态。



using Windows.Phone.System.Power;

public void CheckBatterySaverState()
{
    // The minimum phone version that supports the PowerSavingModeEnabled property
    Version TargetVersion = new Version(8, 0, 10492);

    if (Environment.OSVersion.Version >= TargetVersion) 
    {
        // Use reflection to get the PowerSavingModeEnabled value
        bool powerSaveOn = (bool)
            typeof(PowerManager).GetProperty("PowerSavingModeEnabled").GetValue(null, null);

        if (powerSaveOn)
        {
            MessageBox.Show("Battery Saver enabled. This app won’t receive notifications when Battery Saver is active.");
        }
    }
}


上一篇:PostgreSQL 10 GIN索引 锁优化


下一篇:独家 | 提速20倍!3个细节优化Tableau工作簿加载过程(附实例)