sirve - la actividad de diálogo se oculta debajo de la pantalla de llamada cuando el bloqueo seguro está activado, Android
notificaciones android app (0)
Estoy haciendo la aplicación como truecaller, y quiero implementar la actividad emergente sobre la pantalla de llamada nativa. Está bien, pero cuando se muestra el dispositivo bloqueado en la actividad pin guard, pero al instante esconderse bajo la pantalla de llamada. Aquí está mi código:
public class IcomingCallActivity extends Activity {
WindowManager.LayoutParams wlp;
private int scrennHeight;
@Bind(R.id.phoneTextView) TextView phoneTextView;
@Bind(R.id.nameTextView) TextView nameTextView;
@Bind(R.id.avatarImageView) CircleImageView avatarImageView;
@Bind(R.id.spamTextView) TextView spamTextView;
@Bind(R.id.container) FrameLayout container;
private ActivityManager mActivityManager;
private boolean mDismissed = false;
private static final int MSG_ID_CHECK_TOP_ACTIVITY = 1;
private static final long DELAY_INTERVAL = 100;
private String number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
setContentView(R.layout.activity_incoming_call);
ButterKnife.bind(this);
scrennHeight = getDisplayHeight();
initiallizeScreen();
final View view = getWindow().getDecorView().findViewById(R.id.container);
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) v.getLayoutParams();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
lp.topMargin = (int) event.getRawY();
wlp = getWindow().getAttributes();
wlp.y = lp.topMargin - scrennHeight / 2;
getWindow().setAttributes(wlp);
break;
case MotionEvent.ACTION_UP:
SharedPreferencesSaver.get().saveCallDialogPosition((int) event.getRawY());
break;
}
return true;
}
});
}
El estilo de actividad es Dialog, pero cuando intento configurarlo como ventana de pantalla completa, aparece un fondo negro y las pantallas de llamada nativas no son visibles