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

NDK, как подписаться на callback?

17.02.2020, 10:22. Показов 639. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю приложение OpenCL с обработкой данных на Си.
Для подключения удалённых датчиков сбора данных необходимо включить Блютус.

Прописал инициализацию в Си файле, работает хорошо. Но когда алгоритм доходим до момента подтверждения пользователем разрешения на включение - возникает исключение из за отсутствия формы с кнопочкой OK. Я пологал что форма стандартная и мне не надо её обрабатывать.

Собственно вопрос.
Как перехватить и обработать системный java callback на вызов графической формы из нативного кода.
Если проще, подскажите пример или где почитать, как зарегить свой callback на Си чтоб он дёргался из java.

Спасиб.

пс.
Самый прикол в том, что Блютус включается и остаётся включенным а приложение крошится. Поэтому вы можете принудительно включить Блютус в обход всех разрешений системы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2020, 10:22
Ответы с готовыми решениями:

For_each и аргументы callback-функции; Как передать callback'у больше одного аргумента
Изучаю контейнеры и алгоритмы stl по Майерсу . С непривычки слегка охренел и запутался в них . В общем есть у меня простой вызов...

Подключить стороннюю NDK-библиотеку к своему NDK-проекту
Пытаюсь подключить к своему (на самом деле не совсем своему) NDK-проекту стороннюю библиотеку libpng (http://www.libpng.org). Содержимое...

Как подписаться на событие
Можете объяснить, как реализовывается подписка на событие? Может ли подписка реализоваться с помощью "WithEvents"?

4
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
17.02.2020, 12:18
sevstels, JNI использовать
0
0 / 0 / 0
Регистрация: 22.01.2020
Сообщений: 32
17.02.2020, 13:52  [ТС]
Хм.. не получается, пробовал из него проинить.
Не получается правильно передать указатель на си функцию callback или он как то криво потом отрабатывает. Что происходит конкретно посмотреть отладчиком видимо не умею, возникает исключение и приложение вылетает и сессия закрывается.

Собственно это окошко формы в принципе лишнее, не нужно совсем, может попробовать программно нажать на нём кнопку?
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
17.02.2020, 14:10
Цитата Сообщение от sevstels Посмотреть сообщение
Не получается правильно передать указатель
Как вариант проверять разрешения средствами Java при старте. И в случае успеха инициализировать ваш нативный код.
0
0 / 0 / 0
Регистрация: 22.01.2020
Сообщений: 32
17.02.2020, 14:42  [ТС]
С разрешениями трудностей нет.

Трудность в следующем, более подробно:
1 Соответственно гугло-описанию инициализируем интерфейс.
2 Подошли к функции "включить".

Тут и начинается засада.

В проекте нет java файлов и он собирается из Visual Studio только с NDK.
Как подклеить java исходник с формой для кнопочки в проект, я пока не разобрался.
И форма с кнопочкой OK отсутствует.

Система после вызова из функции на Си метода "вкл", пытается загрузить диалог с кнопкой Ok... а его нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2020, 14:42
Помогаю со студенческими работами здесь

Как подписаться на событие?
Доброго времени суток. Я делаю, что то не так, а что именно не знаю. Помогите разобратся. Задача: в форме пикчербокс где рендомно...

Как подписаться на событие
Доброго времени суток, cтоит задача при нажатии на кнопку формы с генерировать событие и отреагировать на него в другом классе. Событие я...

MQTT. Как подписаться на топик
Добрый день. Есть устройство, которое отправляет данные на mqtt-сервер в топик /test/nfc. Требуется написать программу, которая будет...

Можно ли как-то искусственно вызвать существующее событие, или как-то на него подписаться?
Можно ли из кода как-то напрямую вызвать определенное событие? Т.е. нужно, чтобы сработал обработчик этого события (не в runtime-режиме, а...

Как подписаться на события изменения переменной
Собственно перечитал кучу книг, но везде примеры очень сложные. Гуглил не помогло. Интересуют ссылки на грамотную литературу. Так же,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru