Fullscreen notification when locked and screen is off(not working)

孤街醉人 提交于 2019-12-13 06:34:00

问题


I want to see a fullscreen activity when I receive a push notification. It works fine when the screen is on/unlocked. But when the screen is off and locked, I dont see the activity. Please help

// Push notification received public class PushNotificationReceiver extends WakefulBroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
 Intent pushIntent = new Intent(context.getApplicationContext(), CustomNotificationActivity.class);
                    pushIntent.putExtra(CustomNotificationActivity.EXTRA_PUSH_MESSAGE, String.valueOf(pushMessage));
                    pushIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    context.startActivity(pushIntent);
}
}

// Fullscreen activity as notification

 CustomNotificationActivity.java
    public class CustomNotificationActivity extends Activity {
  private KeyguardManager.KeyguardLock lock;
    private PowerManager.WakeLock wakeLock;

    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        PowerManager pwm = (PowerManager) getSystemService(POWER_SERVICE);
        wakeLock = pwm.newWakeLock(PowerManager.FULL_WAKE_LOCK, getClass().getSimpleName());
        wakeLock.acquire();
        KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
        lock = keyguardManager.newKeyguardLock(getClass().getSimpleName());
        lock.disableKeyguard();
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
...
...
..

}

   @Override
    public void onPause() {
        super.onPause();
        wakeLock.release();
        lock.reenableKeyguard();
        ......
        finish();
    }
}

来源:https://stackoverflow.com/questions/38596347/fullscreen-notification-when-locked-and-screen-is-offnot-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!