Полагаю, ваша мысль о broadcastreceiver
вовсе не так уж и плоха: вам не нужно регистрировать broadcastreceiver
в манифесте, вы также можете создать их по требованию или даже в композиции с вашим * 1003.*.Но помимо этого есть несколько способов решить вашу проблему:
Подход № 1
Прежде всего вы можете использовать IntentService
и PendingIntent
дляиметь простое общение, используя ResultReceiver
.См. Также этот большой вопрос о переполнении стека для получения дополнительной информации:
связь Android между двумя приложениями
Подход № 2
Ещеуниверсальным подходом может быть использование IntentFilter
и схемы для перехвата отправляемых данных.Он также основан на намерениях и может стать решением для вашего сценария, если (!) Вы правильно обработаете перехват данных: в вашем случае, только если он работает.См. Также эту статью для (несколько) краткого примера такого подхода:
https://android -developers.googleblog.com / 2009/11 / integrating-application-with-intets.html .
Подход № 3
И последнее, но не менее важное: используйте общие (но защищенные!) Файлы и другие параметры хранения данных.Это может быть зашифрованный файл и активный слушатель во время работы вашего второго приложения.Возможно, для этого также потребуются другие части других упомянутых опций, например, запущенный IntentService
, которым можно управлять с помощью Alarmmanager
или JobScheduler
.Для таких сценариев я бы рекомендовал официальные документы для Android:
https://developer.android.com/training/secure-file-sharing/setup-sharing.html https://developer.android.com/guide/topics/data/data-storage.html.
Plus: , так как в большинстве случаев выЕсли бы у меня был какой-то «фоновый сервис», я бы порекомендовал вам взглянуть на некоторые подходы, которые предлагает вам Android, поскольку они могли бы полностью изменить подход и возможности, которые могли бы соответствовать:
https://www.bignerdranch.com/blog/choosing-the-right-background-scheduler-in-android/
Короче говоря:
Удачи и держите меня в курсе!;)