xamarin.android - 如何使用 Firebase 通知。收到通知后无法打开显示设备?
问题描述
我按照说明按照 Microsoft 的说明发送了 Firebase 通知通知。但是当android设备收到通知时不会点亮屏幕。我尝试连接 WakeLock 以打开显示,但它不起作用?所有方法都在 OnMessageReceived 函数中。
var wakeLock = powerManager.NewWakeLock(WakeLockFlags.ScreenDim |
WakeLockFlags.AcquireCausesWakeup, "Demo");
wakeLock.Acquire(2 * 1000);
//////Send Notification here
wakeLock.Release();
解决方案
那么你可以使用这种使用电源管理器打开屏幕灯的方法
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;
}
此方法返回可在稍后时间点释放的唤醒锁
推荐阅读
- python - 安装 Locustio(0.7.5) 软件包的问题
- colors - Terminal.app 颜色显示与转义序列不同
- c++ - 在 C++ 中通过函数删除对象
- c# - C#接口决定实现
- android - 如何从 ActivityMangerService 中的 Intent 获取 Parceable 数据?
- python - 正则表达式提取包含单词的句子
- android - 使用事件类包装器防止实时数据被多次触发时出现解析错误
- azure-ad-b2c-custom-policy - Azure B2C 从 IDP 获取手机号码
- python - 将 URL 与网页正确链接的问题
- angular - 构建Angular库时“不支持的私有类xy”