Android开发之跨进程通信-广播跨进程实现方法(附源码)
生活随笔
收集整理的這篇文章主要介紹了
Android开发之跨进程通信-广播跨进程实现方法(附源码)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
真的特別簡(jiǎn)單,簡(jiǎn)單概述下android的四大組件都可以跨進(jìn)程。
?
Activity,廣播,服務(wù),內(nèi)容提供者都可以
先看下跨進(jìn)程傳遞數(shù)據(jù)的效果圖
下面是兩個(gè)APP用于模擬跨進(jìn)程
再看下跨進(jìn)程效果,AIDL和廣播跨進(jìn)程圖下面是
先看廣播怎么跨,特別簡(jiǎn)單
發(fā)送端:直接在activity里面或者fragment都可以發(fā)送廣播即可
//跨進(jìn)程方法二 廣播btSend2.setOnClickListener {val intent = Intent()//下面action需要與服務(wù)端APP清單文件里面的廣播配置的action字段保持一致intent.action = "com.xiayiye5.login.token2"intent.putExtra("login_access_token", "拿到的token為:" + etInput.text.toString().trim()) //如果是在fragment里面發(fā)送廣播需要拿到當(dāng)前fragment的activity對(duì)象即可 //getActivity.sendBroadcast(intent)sendBroadcast(intent)}再看接收端的代碼:
新建一個(gè)接收數(shù)據(jù)局的廣播
package com.example.app_serverimport android.content.BroadcastReceiver import android.content.Context import android.content.Intent/*** 廣播接收跨進(jìn)程APP數(shù)據(jù)* @author xiayiye5* @date 2021/11/29 9:43*/ class TakeTokenBroadCast : BroadcastReceiver() {companion object {const val action = "com.xiayiye5.login.token2"}override fun onReceive(context: Context?, intent: Intent?) {if (action == intent!!.action) { // val token = intent.getStringExtra("login_access_token") // Toast.makeText(context, token, Toast.LENGTH_LONG).show()//打開接收數(shù)據(jù)的activity即可,數(shù)據(jù)都在intent里面,在activity頁面直接取就好了intent.setClass(context!!, ServerActivity::class.java)context.startActivity(intent)}} }然后在清單文件配置下廣播接受者即可
<receiver android:name=".TakeTokenBroadCast"><intent-filter><!--下面的action配置需要與客戶端發(fā)送廣播的action保持一致--><action android:name="com.xiayiye5.login.token2" /></intent-filter></receiver>感謝原博主:博主直達(dá)
??如果看著比較復(fù)雜具體可以下載源碼查看:源碼直達(dá)
總結(jié)
以上是生活随笔為你收集整理的Android开发之跨进程通信-广播跨进程实现方法(附源码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发之跨进程通讯-AIDL
- 下一篇: 雷霆战机官网最新活动 雷霆战机活动礼包装