(greenrobot) EventBusを使用して、リモート サービスと通信する必要があります。残念ながら、IPC では動作しないようです。コードを見ると、回避策もわかりません。どんな助けでも大歓迎です!
おまけの質問 - IPC をサポートする他の EventBuses (Android 用) はありますか?
(greenrobot) EventBusを使用して、リモート サービスと通信する必要があります。残念ながら、IPC では動作しないようです。コードを見ると、回避策もわかりません。どんな助けでも大歓迎です!
おまけの質問 - IPC をサポートする他の EventBuses (Android 用) はありますか?
(greenrobot) EventBus を使用して、リモート サービスと通信する必要があります。
Square の Otto や のような greenrobot の EventBus の要点は、IPC を使用LocalBroadcastManager
しないことです。
どんな助けでも大歓迎です!
greenrobot の EventBus を IPC に使用しないでください。IPC には、Android の無数の IPC メカニズムのいずれかを使用します。
startActivity()
startActivityForResult()
startService()
bindService()
sendBroadcast()
およびそのバリエーション (例: sendOrderedBroadcast()
)ContentProvider
IPC 経由でイベントを送信できる IPC EventBus オプションがあります。https://github.com/NewtronLabs/IpcEventBus
ドキュメントによると、イベントを取得するために必要なことは次のとおりです。
public class Listener implements IIpcEventBusConnectionListener, IIpcEventBusObserver {
public Listener() {
String targetApp = "com.packagename";
IIpcEventBusConnector connector =
ConnectorFactory.getInstance().buildConnector(context, this, targetApp);
connector.startConnection();
}
@Override
public void onConnected(IIpcEventBusConnector connector) {
connector.registerObserver(this);
}
@Override
public void onEvent(IEventIpc event) {
Log.d("ipceventbus", "Received event: " + event.getClass());
}
@Override
public void onDisconnected(IIpcEventBusConnector connector) {
}
}
そして反対側では、次のようにイベントを投稿します。
IpcEventBus.getInstance().postEvent(new MyEvent());
2 つのアプリを作成したところ、互いにイベントを送信できました。