Javascript Phonegap/Cordova推送通知未唤醒屏幕

Javascript Phonegap/Cordova推送通知未唤醒屏幕,javascript,android,cordova,phonegap,html-framework-7,Javascript,Android,Cordova,Phonegap,Html Framework 7,我一直在做一些研究,当收到推送通知时,android似乎对唤醒屏幕(点亮设备屏幕)有点严格 我想实现的是一个短信通知,它将打开屏幕,声音和振动。但我的推送通知只会发出蜂鸣或震动。在cordova是否可以将设备从睡眠中唤醒?我正在使用pubnub作为后端 以下是我的fcm有效载荷示例: 有效载荷={ “消息”:“一些消息”, “用户id”:“1”, “pn_gcm”:{ “优先级”:“高”, “数据”:{ “标题”:“通知标题”, “身体”:“你是赢家!”, “房间”:“房间名称”, //“计数

我一直在做一些研究,当收到推送通知时,
android
似乎对唤醒屏幕(点亮设备屏幕)有点严格

我想实现的是一个短信通知,它将打开屏幕,声音和振动。但我的推送通知只会发出蜂鸣或震动。在cordova是否可以将设备从睡眠中唤醒?我正在使用pubnub作为后端

以下是我的fcm有效载荷示例:

有效载荷={
“消息”:“一些消息”,
“用户id”:“1”,
“pn_gcm”:{
“优先级”:“高”,
“数据”:{
“标题”:“通知标题”,
“身体”:“你是赢家!”,
“房间”:“房间名称”,
//“计数”:5,
“可用内容”:“1”,
“强制启动”:“1”,
“优先权”:2
}
}
};

这是我的AndroidManifest.xml


我使用的是
phonegap plugin push

Android设备有自己的通知首选项,有些设备无法被你的应用程序覆盖。“Ambient Display”(环境显示)设置将在收到通知时显示屏幕唤醒,但这是一项必须在手机设置中打开的功能。

好的,我创建了自己的cordova插件来处理唤醒屏幕。下面是我在插件中使用的代码:

    Context context = this.cordova.getActivity().getApplicationContext();
    PowerManager powerManager = (PowerManager) context.getSystemService(context.POWER_SERVICE);

    boolean result= Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT_WATCH&&powerManager.isInteractive()|| Build.VERSION.SDK_INT< Build.VERSION_CODES.KITKAT_WATCH&&powerManager.isScreenOn();

    if (!result){
        PowerManager.WakeLock wl = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK |PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.ON_AFTER_RELEASE,"MH24_SCREENLOCK");
        wl.acquire(10000);
        PowerManager.WakeLock wl_cpu = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"MH24_SCREENLOCK");
        wl_cpu.acquire(10000);
    }`
    //call wakeup screen
    window.plugins.wakeUpScreen.wakeup(function() {
      console.log('Wake up!');
    }, function(err) {
      console.log('Wake up error: ' + err);
    });          

}); `