Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.04.2017
Сообщений: 6

Почему сервис выполняется с ошибкой (вывод картинки поверх всех окон)

25.04.2017, 00:12. Показов 1351. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Мне нужно реализовать вывод картинки поверх всех окон (в android 4.4.2 KitKat), по примеру этого - https://droidqd.wordpress.com/... n-android/.

Включил разрешение и объявил сервис в AndroidManifest.xml
XML
1
2
 <service android:name="com.my.exemple.FloatingFaceBubbleService"></service>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Код сервиса обрезал - перемещение картинки пока мне не нужно - сделал так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.my.exemple;
 
import android.app.Service;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.os.IBinder;
import android.util.Log;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
import android.widget.ImageView;
 
 
public class FloatingFaceBubbleService extends Service {
    final String TAG = "MyLOGs";
    private WindowManager windowManager;
    private ImageView floatingFaceBubble;
 
    public void onCreate() {
        super.onCreate();
        floatingFaceBubble = new ImageView(this);
        //a face floating bubble as imageView
        floatingFaceBubble.setImageResource(R.drawable.bubble);
        windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
        //here is all the science of params
        final LayoutParams myParams = new WindowManager.LayoutParams(
                LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT,
                LayoutParams.TYPE_PHONE,
                LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSLUCENT);
        myParams.gravity = Gravity.TOP | Gravity.LEFT;
        myParams.x = 0;
        myParams.y = 100;
        // add a floatingfacebubble icon in window
        try {
            windowManager.addView(floatingFaceBubble, myParams);
 
        } catch (Exception e) {
            Log.d(TAG, e.toString());
            e.printStackTrace();
        }
}
 
    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

Запускаю сервис:
Java
1
startService(new Intent(this, FloatingFaceBubbleService.class));
В итоге в лог выдаётся ошибка:
04-25 00:10:36.080 23196-23196/com.my.exemple D/MyLOGs: android.view.WindowManager$BadTokenExcep tion: Unable to add window android.view.ViewRootImpl$W@42158548 -- permission denied for this window type

Подскажите, пожалуйcта, как это можно исправить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2017, 00:12
Ответы с готовыми решениями:

Вывод картинки поверх всех окон
Каким образом можно отобразить графический файл (bmp или jpg) без привязки к элементам программы (CDialog или CView), просто поверх всех...

Вывод картинки (из файла jpg) на весь экран, поверх всех окон в MFC
Если ли класс у mfc для вывода изображений из файла,на весь экран? Чтобы можно было показывать слайд-шоу из выбранных файлов(т.е....

Вывод формы поверх всех окон.
Вопрос конечно примитивный, но как чтобы при вызове новой формы, она была поверх основной формы?

4
30 / 30 / 5
Регистрация: 21.03.2013
Сообщений: 381
25.04.2017, 11:26
Цитата Сообщение от klmmn Посмотреть сообщение
permission denied for this window type
Говорит у вас нет прав, поищи какие разрешения нужно выставлять или тестируешь на более поздней версии андроид и разрешения нужно в ручную просить.
0
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 609
25.04.2017, 13:29
android.permission.INTERNAL_SYSTEM_WINDO W
или
uses-permission android:name="android.permission.SYSTEM_ ALERT_WINDOW
0
0 / 0 / 0
Регистрация: 19.04.2017
Сообщений: 6
26.04.2017, 00:30  [ТС]
Понял свою ошибку - разрешения выставлял, но не в том месте ))

Возник вопрос по ходу дела.. Можно ли точно так же вывести кнопку button поверх всех окон?? Нигде не нашёл такой информации...
0
30 / 30 / 5
Регистрация: 21.03.2013
Сообщений: 381
26.04.2017, 13:08
klmmn, передай вместо ImageView свою кнопку и увидишь.
Или поищи в windowManager методы кроме addView может там есть addButton
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2017, 13:08
Помогаю со студенческими работами здесь

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

Вывод графики на экран, поверх всех окон.
Здравствуйте! Интерисует такой вопрос, как можно выводить графику на экран, не в область окна приложения, а поверх всего. К примеру, как...

Вывод прозрачного слоя графики поверх всех окон
Пришла в голову мысль написать программу для стумуляции скорости печати. Идея такая: при печати на клавиатуре по краям экрана появляется...

Вывод скриншота на весь экран поверх всех окон
Здравствуйте! Сразу объясню - хочу сделать программу для друга. Он любитель ставить мне всякие пакостные програмки на комп, типа снега...

Две формы поверх всех окон. Вторая не хочет быть поверх
Ребят, поиск юзал, всё пробовал. Вторая форма не хочет быть наверху, первая нормально наверху висит. Вторая отврывается по событию OnShow...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru