Android Lollipop - Tela de bloqueio de desvio para atividade pop-up

eu tenhoActivity1 que é uma tela de lista de itens. Cada item pode ser visualizado em um separadoActivity2 que é exibido como um pop-up.Activity1 pode ser iniciado a partir do plano de fundo e exibido mesmo quando a tela está bloqueada.Activity1 Você também pode optar por exibir automaticamente o conteúdo de um item na tela da lista, iniciandoActivity2. Podemos ignorar a tela de bloqueio porque ambas as atividades têm oWindowManagerFlags.DismissKeyguard ativado noOnCreate método.

Antes do Android Lollipop, tudo funcionava conforme o esperado. Mas agora o pop-upActivity2 não fica visível, a menos que o dispositivo seja desbloqueado manualmente. Se eu mudarActivity2 para ser uma tela cheiaActivity tudo parece funcionar (exceto a transição de uma atividade para outra exibirá brevemente a tela de bloqueio). Alguma idéia de como corrigir isso de forma limpa?

Além disso, tentei apenas os dispositivos Galaxy S6 / S6 Edge que possuem esse novo recurso de segurança Knox.

Editar eu mudeiActivity2 ser umDialogFragment em vez de umActivity. Isso funcionou melhor para mim porque a resposta sugerida usava código obsoleto ou obsoleto, dependendo do sdk de destino.Activity1 está usando os seguintes sinalizadores para ignorar a tela de bloqueio quando necessário.

getWindow().addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);

Desde aActivity2 agora é apenas umDialogFragment, ele usa os sinalizadores de janela do paiActivity1. Também removo essas bandeiras no"android.intent.action.SCREEN_OFF" ação para que a atividade ignore a tela de bloqueio apenas quando iniciada como uma notificação e nem sempre que a atividade estiver no topo da pilha. As permissões mencionadas na resposta são necessárias.