android 通知自动唤醒屏幕,原生Android 极光推送收到通知后自动点亮屏幕

1.新增屏幕唤醒权限

2.集成极光sdk的过程在这就省略了, 直接说唤醒屏幕的方法以及在哪调用

按照官方提供的demo, 在AndroidManifest.xml中添加自定义的广播接收器 代码如下

android:name="这里是自定义reciver的路径"

android:exported="false"

android:enabled="true">

下面是唤醒屏幕的方法

/**

* 唤醒屏幕

* @param context

*/

private void wakeUpScreen(Context context) {

PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);

boolean screenOn = pm.isScreenOn();

if (!screenOn) {

@SuppressLint("InvalidWakeLockTag") PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");

wl.acquire(10*60*1000L /*10 minutes*/); // 点亮屏幕

wl.release(); // 释放

}

}

将唤醒屏幕的方法在接收到有通知推送下来时候调用即可, 自定义接收器类的全部代码如下:

/**

* 自定义接收器

*

* 如果不定义这个 Receiver,则:

* 1) 默认用户会打开主界面

* 2) 接收不到自定义消息

*/

public class MyReceiver extends BroadcastReceiver {

private static final String TAG = "JIGUANG-Example";

@Override

public void onReceive(Context context, Intent intent) {

tr

你可能感兴趣的:(android,通知自动唤醒屏幕)