У меня есть основное приложение, мы называем его «приложение», а затем дополнительные модули, называемые «модуль1» и «модуль2». Эти модули являются зависимостями приложения. «Приложение» запускает «модуль 1», который выполняет свою работу и после завершения передает сообщение, которое должно быть получено «приложением», чтобы оно могло продолжить свой поток. Однако, похоже, я не получаю его в «приложении».
Мне интересно, можно ли вообще отправлять широковещательные сообщения из подмодулей?
Модули должны оставаться максимально независимыми от основного приложения, чтобы их можно было использовать и с другими приложениями, такими как плагины. Вот почему я ничего не добавляю в манифест основного приложения, связанного с модулями. Модули имеют свои собственные манифесты.
Трансляции работают нормально внутри модуля.
Код довольно прост:
public class MyReceiver extends BroadcastReceiver {
mFilter = new IntentFilter("com.myapp.main.CUSTOM_INTENT");
mReceiver = new MyReceiver();
@Override
public void onReceive(Context context, Intent intent) {
Log.i(Constants.TAG, "receiver worked");
}
// constructor
public MyReceiver(){
}
}
И в манифесте:
<receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="com.myapp.main.CUSTOM_INTENT" />
</intent-filter>
</receiver>
И в подмодуле:
Intent intent = new Intent("com.myapp.main.CUSTOM_INTENT");
intent.putExtra("value", 0);
sendBroadcast(intent);