0

I am trying to create Facebook like head widget on the Android Screen. I have declared permission ALERT_SYSTEM_WINDOW Permission in the manifest but it still crashing can someone help find out what the problem is within my code?

@Override
    public void onCreate() {
        super.onCreate();

        windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

        chatHead = new ImageView(this);
        chatHead.setImageResource(R.drawable.widget_logo);

        params= new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSLUCENT);

        params.gravity = Gravity.TOP | Gravity.LEFT;
        params.x = 0;
        params.y = 100;

        //this code is for dragging the chat head
        chatHead.setOnTouchListener(new View.OnTouchListener() {
            private int initialX;
            private int initialY;
            private float initialTouchX;
            private float initialTouchY;

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        initialX = params.x;
                        initialY = params.y;
                        initialTouchX = event.getRawX();
                        initialTouchY = event.getRawY();
                        return true;
                    case MotionEvent.ACTION_UP:
                        return true;
                    case MotionEvent.ACTION_MOVE:
                        params.x = initialX
                                + (int) (event.getRawX() - initialTouchX);
                        params.y = initialY
                                + (int) (event.getRawY() - initialTouchY);
                        windowManager.updateViewLayout(chatHead, params);
                        return true;
                }
                return false;
            }
        });
            windowManager.addView(chatHead, params);
    }
  • Its showing permission denied for this window type : @ windowManager.addView(chatHead, params); – Deeplaxmi Atalatti May 17 '16 at 18:58
  • http://stackoverflow.com/questions/32224452/android-unable-to-add-window-permission-denied-for-this-window-type, hope this helps – prat May 17 '16 at 19:03

1 Answers1

0

I figured out the answer for this. As I am using API Version 19 I used WindowManager.LayoutParams.TYPE_TOAST, instead of WindowManager.LayoutParams.TYPE_PHONE,