进程间通信之ContentProvider+BroadCastReceiver

本文介绍了Android中ContentProvider如何与BroadcastReceiver配合使用来实现进程间通信。详细讲解了通过ContentProvider进行数据传递的方法,以及如何利用BroadcastReceiver接收并处理这些数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程间通信之ContentProvider+BroadCastReceiver

1. 将数据通过参数传递给ContentProvider组件。

2. ContentProvider调用CAE处理请求。

3. CAE将响应通过BroadCast传递给UI。

4. 在此之前UI须注册BroadCastReceiver。

 

String[] projection = null;
String selection = null;
String sortOrder = null;
String[] selectionArgs = null;
selectionArgs = new String[3];
selectionArgs[0] = gateIP;
selectionArgs[1] = userName;
selectionArgs[2] = password;
getContentResolver().query(Login.CONTENT_URI, projection, selection, selectionArgs, sortOrder);
CAEReceiver caeReceiver;
class CAEReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
  String msg = intent.getStringExtra("msg");
  UHomeUtil.log("CAEReceiver.onReceive>>\n" + msg);

  if(gnmk == Gnmk.JDKZ)
  {
   Intent it = new Intent();
   it.setClass(UHomeMain.this, JdkzAct.class);
   startActivity(it);
  }
  UHomeMain.this.unregisterReceiver(this);
 }
}
 public static final String ACTION_CAE = "android.intent.action.CAE_BROADCAST";
caeReceiver = new CAEReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(GConst.ACTION_CAE);
registerReceiver(caeReceiver, filter);
public void sendCAEBroadCast(String msg)
{
 Intent mIntent = new Intent(GConst.ACTION_CAE); 
    mIntent.putExtra("msg", msg); 
    this.getContext().sendBroadcast(mIntent);
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值