Phonegap / Cordova推送通知不会唤醒屏幕

问题描述 投票:1回答:2

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

我希望实现的是一个短信通知,它会打开屏幕,声音和振动。但我的推送通知只是响铃或振动。是否可以在Cordova中唤醒设备?我正在使用pubnub作为后端。

这是我的样本fcm有效载荷: var pushPayload = { "message": "Some message", "user_id": "1", "pn_gcm" : { "priority" : "high", "data" : { "title":"Notification title", "body":"You are a winner!", "room" : "Room name", //"count" : 5, "content-available":"1", "force-start": "1", "priority":2 } }
};

这是我的AndroidManifest.xml <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="27" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.VIBRATE" />

我正在使用phonegap-plugin-push

javascript android cordova phonegap html-framework-7
2个回答
0
投票

Android设备有自己的通知偏好设置,有些设备无法被您的应用覆盖。 “环境显示”设置将在通知时唤醒屏幕,但这是必须在手机设置中打开的功能。


0
投票

好吧,我最终创建了自己的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);
    }`

所以,在notification事件中,我调用了我的插件:

`push.on('notification',function(data){

    //call wakeup screen
    window.plugins.wakeUpScreen.wakeup(function() {
      console.log('Wake up!');
    }, function(err) {
      console.log('Wake up error: ' + err);
    });          

}); `
© www.soinside.com 2019 - 2024. All rights reserved.