android - 安卓两个app之间如何通信
ringa_lee
ringa_lee 2017-04-18 09:14:32
0
9
982

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

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

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

ringa_lee
ringa_lee

ringa_lee

membalas semua(9)
阿神

Saya tidak pasti apakah senario aplikasi tertentu. Cuma komponen yang sepadan dimulakan antara dua APP, dan pemindahan data masih diperlukan, menurut penerangan anda, APP A perlu melancarkan APP B. Anda boleh cuba gunakan fungsi tersembunyi Aktiviti. Mulakannya untuk melihat sama ada ia boleh diselesaikan:

1. 在APP B中可被调起的Activity 定义好intent-filter,action,data,category...以便可以被隐式启动;
2. 在APP A中根据APP B 里需要被隐式启动的Activity的intent-filter,封装好intent并startActivityForResult(...),在onActivityResult中等待从APP B返回的结果,进行下一步处理
3. 在APP B 中被调用的Activity里setResult()设置处理结果.
PHPzhong

Adalah disyorkan untuk merujuk kepada bab kedua "Penerokaan Pembangunan Seni Android", yang mempunyai pengenalan terperinci kepada komunikasi antara proses.

巴扎黑

Bergantung pada spesifiknya Jika kedua-dua program adalah bebas dan tidak boleh dikawal, seperti QQ dan WEIBO, dan anda tidak pasti sama ada pengguna akan memulakannya pada masa yang sama, cara terbaik ialah membuat antara muka awam.

伊谢尔伦

Gunakan aidl terus untuk berkomunikasi antara apl, mudah sahaja

大家讲道理

Jika anda hanya membuka Aktiviti lain, anda boleh menyesuaikan uri aplikasi Untuk butiran, lihat schemeatribut

Jika anda memerlukan komunikasi antara aplikasi yang lebih khusus, anda boleh menggunakan aidl

Begitu juga, terdapat menggunakan perkhidmatan sebagai geganti atau menggunakan mekanisme penyiaran

Adalah disyorkan untuk menggunakan aidl

PHPzhong

http://blog.csdn.net/github_3... pengenalan terperinci aidl

阿神

Seperti yang dikatakan oleh @wangxw725, itu adalah kaedah yang boleh dipercayai Kebolehpercayaan menggunakan siaran adalah terlalu lemah kaedahnya

Peter_Zhu

Komunikasi antara proses boleh dicapai dengan bantuan AIDL

刘奇

Semua orang di atas hebat, tetapi ini bukan penggunaan startActivityForResult()?
A terus memanggil halaman B Jika halaman sasaran tidak mudah untuk didedahkan, tulis halaman perantaraan untuk mengendalikan panggilan jenis ini secara khusus . Kemudian pemprosesan onActivityResult ().

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan