首页 > 解决方案 > 如何使用 Firebase 通知。收到通知后无法打开显示设备?

问题描述

我按照说明按照 Microsoft 的说明发送了 Firebase 通知通知。但是当android设备收到通知时不会点亮屏幕。我尝试连接 WakeLock 以打开显示,但它不起作用?所有方法都在 OnMessageReceived 函数中。

var wakeLock = powerManager.NewWakeLock(WakeLockFlags.ScreenDim | 
                            WakeLockFlags.AcquireCausesWakeup, "Demo");
            wakeLock.Acquire(2 * 1000);
//////Send Notification here

wakeLock.Release();

标签: xamarin.android

解决方案


那么你可以使用这种使用电源管理器打开屏幕灯的方法

private List<WakeLock> TurnDeviceLightOn(Context context)
    {
        PowerManager pm = (PowerManager)context.GetSystemService(Context.PowerService);
        bool isScreenOn = pm.IsInteractive;
        if (!isScreenOn)
        {
            WakeLock wl = pm.NewWakeLock(WakeLockFlags.Full | WakeLockFlags.AcquireCausesWakeup | WakeLockFlags.OnAfterRelease, "myLock");
            wl.Acquire(10000);
            WakeLock wl_cpu = pm.NewWakeLock(WakeLockFlags.Partial, "myCpuLock");
            wl_cpu.Acquire(10000);
            return new List<WakeLock>() { wl, wl_cpu };
        }
        return null;
    }

此方法返回可在稍后时间点释放的唤醒锁


推荐阅读