有两个 app 之间需要一次通信,只需要一次,所以我想着用 broadcast。
App A 发一个 broadcast 给 app B,然后 B 需要 start 一个 activity,但 A 还需要等 B 结束这个 activity 之后才能执行下一步。
所以 B 在结束 activity 之后需要让 A 知道,我不确定是还需要从 B 给 A 发一个 broadcast 么?还是有没有什么比较简单的方法,不确定这样互相发送 broadcast 是不是最好的方法。
阿神2017-04-18 09:16:32
具体的なアプリケーションのシナリオが何かはわかりませんが、対応するコンポーネントが 2 つの APP 間で開始され、データ転送が依然として必要であるということです。APP A は APP B をアクティブに起動する必要があります。アクティビティの隠し機能を使用して、解決できるかどうかを確認してください:
リーリーPHPz2017-04-18 09:16:32
プロセス間の通信について詳しく説明されている「Android Art Development Exploration」の第 2 章を参照することをお勧めします。
巴扎黑2017-04-18 09:16:32
QQ と WEIBO など、2 つのプログラムが独立していて制御不可能で、ユーザーが同時に起動するかどうかわからない場合は、パブリック インターフェイスを作成するのが最善の方法です。
大家讲道理2017-04-18 09:16:32
別のアクティビティを開くだけの場合は、アプリケーションの URI をカスタマイズできます。詳細については、scheme
属性
より具体的なアプリケーション間通信が必要な場合は、aidl
同様に、サービスをリレーとして使用したり、ブロードキャストメカニズムを使用したりすることもできます
aidl の使用をお勧めします
阿神2017-04-18 09:16:32
@wangxw725 が言っているように、これは信頼性の高い方法です。バックグラウンドに切り替えられたアクティビティの 1 つがシステムによって再利用される場合はどうすればよいでしょうか。メソッド
怪我咯2017-04-18 09:16:32
上記はすべて素晴らしいですが、これは startActivityForResult() の使用法ではありません?
A は B のページを直接呼び出します。ターゲット ページを公開するのが不便な場合は、この種の呼び出しを特別に処理する中間ページを作成します。次に onActivityResult() 処理。