Как создать всплывающее изображение поверх других приложений, пока мое приложение работает в фоновом режиме? - PullRequest
0 голосов
/ 24 ноября 2011

У меня есть приложение Android, которое на каком-то этапе запускается в фоновом режиме, и когда какое-то событие происходит, оно вступает во владение и появляется на переднем плане.

Теперь я хочу что-то более сложное.когда моя деятельность находится в фоновом режиме, показывайте маленькое изображение в нижней части экрана (как всплывающее объявление), независимо от того, какое приложение запущено.Это возможно?(дело не в написании приложения, а в том, чтобы позволить рекламному движку вставлять рекламу в мое приложение. Я хочу наоборот, без какой-либо интеграции)

Ответы [ 2 ]

1 голос
/ 15 декабря 2018

Как сказал Ян, вы должны быть очень осторожны с этим, так как он может легко раздражать пользователей, если с ним не обращаться должным образом. Вот один из способов показать вид наложения. Вам потребуется владелец телефона, чтобы явно предоставить вам разрешения наложения. Затем вы можете отобразить представления из класса обслуживания. Вы должны помнить, чтобы правильно обрабатывать разрешения. Вам необходимо указать в своем манифесте следующее разрешение -

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

Поскольку это опасное разрешение, пользователь должен вручную дать вам разрешение в настройках. Затем вы можете в своем классе обслуживания работать с windowManager для обработки выравнивания вида, размера и деталей. Например -

windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager
        params = WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
                PixelFormat.TRANSLUCENT)

        params.gravity = Gravity.BOTTOM
        if (view.windowToken != null) {
          try {
            windowManager!!.addView(view, params)
        } catch (e: Exception) {
            Log.d("The exception is", e.toString())
        }

        } 
0 голосов
/ 24 ноября 2011

Вы можете сделать это, но это очень сильно противоречит принципам дизайна самого Android, и люди мгновенно удалят ваше приложение.

...