Подтвердить что ты не робот

Нарисуйте и зацепите, не останавливая приложение

Im пытается выяснить, как приложения, такие как салфетки (https://market.android.com/details?id=mobi.conduction.swipepad.android), могут подключаться к посетителям независимо от того, какое окно/приложение находится сверху, и как его способность рисовать и взаимодействовать, не останавливая фоновые приложения под ним.

Мне удалось создать приложения, такие как диалоги и всплывающие окна, но я не могу заставить их показывать без остановки/замораживания фонового приложения.

UPDATE: нашел подходящее решение.

в вашем сервисе onCreate добавьте это

WindowManager.LayoutParams params = new WindowManager.LayoutParams(
            WindowManager.LayoutParams.WRAP_CONTENT,
            WindowManager.LayoutParams.WRAP_CONTENT,
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
            PixelFormat.TRANSLUCENT);
    params.setTitle("title");
    WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
    wm.addView(layout, params);

события касания обрабатываются так же, как и обычные, за исключением случаев, когда вы не касаетесь элемента сервиса gui, тогда служба не читает штрих и не переносится в базовую программу

4b9b3361

Ответ 1

Используя комбинацию WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH и решение этой question, я смог сделать то, что вы пытаетесь сделать, не замораживая приложение фоном.

Не забудьте включить тег использования-разрешения 'android.permission.SYSTEM_ALERT_WINDOW'.