Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для siriusED
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705

Вызвать метод экземляра класса в BroadcastReceiver

01.06.2022, 19:38. Показов 1836. Ответов 20

Студворк — интернет-сервис помощи студентам
Цель: Запустить сервис, который висел бы в статусбаре, и было бы две кнопки, при нажатии на каждую вызывался бы разный метод на экземпляре класса.

Проблема в том что когда я создаю сервис и добавляю екшены на кнопки там нету такого понятия как обработчик события (Клик), там все сделано через 'Intent' и 'PendingIntent'.

Java
1
2
3
4
5
6
7
String message = getCurrentMessage();
SettingsData settings = getSettings();
MyCustomClass customClassInstance = new MyCustomClass(settings);
Intent broadcastIntent = new Intent(this, NotificationReceiver.class);
broadcastIntent.putExtra("sMessage", message);
PendingIntent actionIntent = PendingIntent.getBroadcast(this,
       0, broadcastIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Java
1
2
3
4
5
6
7
8
9
10
11
public class NotificationReceiver extends BroadcastReceiver {
 
    @Override
    public void onReceive(Context context, Intent intent) {
        String message = intent.getStringExtra("sMessage");
        if (message.equals("UPDATE")) {
                customClassInstance.update();
        }
        Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
    }
}
Вот как мне вызвать
Code
1
customClassInstance.update();
внутри метода
Code
1
NotificationReceiver.onReceive()
?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2022, 19:38
Ответы с готовыми решениями:

Как вызвать определенный метод переданного класса через метод другого класса?
Добрый день. Захотел я вызвать в методе класса метод некоего другого класса, о котором я пока не знаю. Мне пришла в голову...

С помощью делегата из одного класса вызвать private метод с другого класса
доброго времени суток. такой вопрос. С применением делегатов и пониманием проблем нет когда происходит простой вызов из Main() функции. Но...

Как вызвать метод вложенного класса в методе родительского класса
Имеется родительский класс для прорисовки графики Jogj package objects; import com.jogamp.opengl.GL2; import...

20
93 / 66 / 27
Регистрация: 23.06.2019
Сообщений: 477
17.06.2022, 16:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от siriusED Посмотреть сообщение
я не хочу что бы запуск сервиса был на 5 строк с созданием интентов и прочих не нужных вещей в классе главного активити
Смотря какого разрешеня дисплей.
У меня в одну строчку запуск сервиса вмещается.
Kotlin
1
startService(Intent(applicationContext, CiruService::class.java))
На яве аналогично.
Кстати, если под Андроид приложения делать, то на котлине,
В Андроид Студии (для андроид разработчиков приложений) все для котлина.
Например, потребуется разбираться с Compose, а для явы его нет.

Добавлено через 12 минут
Что бы c добавленным каким-нибудь екстра установить:
Kotlin
1
startService(Intent(applicationContext, CiruService::class.java).putExtra("extra","parametr"))
Проверка же, чего-там запущено в сервсе делается в onStartCommand в Сервисе.
Хотя таймер так не проверяется. Особенно если сервис в отдельном процессе. Ни до каких переменных Сервиса из Активити не дотянуться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.06.2022, 16:17
Помогаю со студенческими работами здесь

Как в методе класса вызвать другой метод того же класса?
class mate { public: int AplusB(int A, int B) { return A+B; } int AplusBplusC(int A, int B, int C)

Как правильно вызвать метод класса внутри самого класса?
Здравствуйте. Собственно тема прописана в заголовке: как правильно вызвать метод класса внутри самого класса? Насколько я знаю, для...

Как вызвать метод класса в другом методе этого же класса?
<? class load_files{ public function traverse_hierarchy($path) { // from...

Вызвать из переменной класса-внука метод из класса-деда
Решено. Ответ внизу добавил. _____________________________________________________ Описание краткое: имея переменную типа...

Как в классе А у объекта класса B вызвать метод класса B ?
Есть Класс A и класс B . В классе B лежит объект типа ArrayList , назовём его arrayList, в этом же классе есть метод push() . Возможно ли...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru