検索

ホームページ  >  に質問  >  本文

android - 安卓两个app之间如何通信

有两个 app 之间需要一次通信,只需要一次,所以我想着用 broadcast。

App A 发一个 broadcast 给 app B,然后 B 需要 start 一个 activity,但 A 还需要等 B 结束这个 activity 之后才能执行下一步。

所以 B 在结束 activity 之后需要让 A 知道,我不确定是还需要从 B 给 A 发一个 broadcast 么?还是有没有什么比较简单的方法,不确定这样互相发送 broadcast 是不是最好的方法。

ringa_leeringa_lee2771日前975

全員に返信(9)返信します

  • 阿神

    阿神2017-04-18 09:16:32

    具体的なアプリケーションのシナリオが何かはわかりませんが、対応するコンポーネントが 2 つの APP 間で開始され、データ転送が依然として必要であるということです。APP A は APP B をアクティブに起動する必要があります。アクティビティの隠し機能を使用して、解決できるかどうかを確認してください:

    リーリー

    返事
    0
  • PHPz

    PHPz2017-04-18 09:16:32

    プロセス間の通信について詳しく説明されている「Android Art Development Exploration」の第 2 章を参照することをお勧めします。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:16:32

    QQ と WEIBO など、2 つのプログラムが独立していて制御不可能で、ユーザーが同時に起動するかどうかわからない場合は、パブリック インターフェイスを作成するのが最善の方法です。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:16:32

    aidl を直接使用すると、アプリ間の通信が簡単になります

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:16:32

    別のアクティビティを開くだけの場合は、アプリケーションの URI をカスタマイズできます。詳細については、scheme属性

    を参照してください。

    より具体的なアプリケーション間通信が必要な場合は、aidl

    を使用できます。

    同様に、サービスをリレーとして使用したり、ブロードキャストメカニズムを使用したりすることもできます

    aidl の使用をお勧めします

    返事
    0
  • PHPz

    PHPz2017-04-18 09:16:32

    http://blog.csdn.net/github_3... AIDL の詳細な紹介

    返事
    0
  • 阿神

    阿神2017-04-18 09:16:32

    @wangxw725 が言っているように、これは信頼性の高い方法です。バックグラウンドに切り替えられたアクティビティの 1 つがシステムによって再利用される場合はどうすればよいでしょうか。メソッド

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:16:32

    AIDL を利用してプロセス間通信を実現できます

    返事
    0
  • 怪我咯

    怪我咯2017-04-18 09:16:32

    上記はすべて素晴らしいですが、これは startActivityForResult() の使用法ではありません?
    A は B のページを直接呼び出します。ターゲット ページを公開するのが不便な場合は、この種の呼び出しを特別に処理する中間ページを作成します。次に onActivityResult() 処理。

    返事
    0
  • キャンセル返事