用intent 传数据试试,可以将bundle放在intent里,将数据放在bundle里。

解决方案 »

  1.   

    我是broadcast往activity中传啊 不能用onreceive的
      

  2.   

    你用一个broadcastreceiver接收broadcast,然后在broadcastreceiver中用intent把值传递回去也ok啊!饶了一圈突然法相我在给自己发送广播自己接收啊!不解lz问题了。
      

  3.   

    在Activity注册一个广播接收机,判断接收到的广播的Action是否为你想要的,如果是的话,再进行状态判断。
      

  4.   

    我说的时广播接受者和activity之间传值 不是广播给广播接收者发送数据啊
      

  5.   


    onRecieve里调startActivity并把数据放在intent里。
      

  6.   

    Activity 是否已经存在?
    如果是启动一个Activity,可以使用如下方法
    Intent intent = new Intent(this,BroadcastClass);
    intent.putExtra(name, value);
    sendBroadcast(intent);
    如果已经存在,可以使用Handle 传参!~
      

  7.   

    楼上回答问题的这几个兄弟 说的都是Activity向broadcastreceiver中传参数 唉
      

  8.   


    还没说明白?
    broadcastreceiver里onRecieve调用startActivity,用intent把数据传过去,如果是singleTop的activity,你可以用onNewIntent得到数据,否则另一个Acitivty会启动。你想要如何?
      

  9.   

    你用一个broadcastreceiver接收broadcast,然后在broadcastreceiver中用intent把值传递回去也ok啊!饶了一圈突然法相我在给自己发送广播自己接收啊!不解lz问题了。
    楼主的意思不是同一个Activity传递数据,是多个Activity之间通过BroadcastReceiver传递数据,好比说我有一个Activity A 和Activity B, A是显示界面信息的,比如下载阿文件大小阿,我在A中点击下载按钮,将此文件添加到下载列表(不能直接跳转到B,效果需要像android市场下载文件那样), B类就是下载列表,需要在此更新下载进度、刷新进度条等等, Receiver中可以接受到A中传递过来的下载进度等数据,可是如何将这些数据传递给B呢???
      

  10.   

    intent 是连接组件之间的桥梁,在onReceive中可以传值给activity,通过intent
      

  11.   


    用接口传!  定义一个接口 让 Activity实现这个接口  然后  接受者调用 接口里面的方法 把要传递的参数传进去
      

  12.   

    class SMSBroadcastReceiver extends BroadcastReceiver@Override
    public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(ACTION)) { // 启动服务
    Bundle bundle = intent.getExtras();
    if(bundle != null) {
    Object messages[] = (Object[]) bundle.get("pdus");
    SmsMessage smsMessage[] = new SmsMessage[messages.length];
    for (int n = 0; n < messages.length; n++) {// 一次可能接收到多条短信????
    smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
    String sender = smsMessage[n].getOriginatingAddress();// 获取短信的发送者
    String content = smsMessage[n].getMessageBody();// 获取短信的内容
    Date date = new Date(smsMessage[n].getTimestampMillis());// 获取短信的接收时间
    SimpleDateFormat format = new SimpleDateFormat(
    "yyyy-MM-dd HH:mm:ss");
    String sendtime = format.format(date);
    Toast.makeText(
    context,
    "发送人:" + sender + "\r\n#发送时间:" + sendtime + "\r\n#内容:"
    + content, Toast.LENGTH_LONG).show();
    mMessageListener.OnReceived(content.substring(0, 6));
           // 回调接口
    public interface MessageListener {
    public void OnReceived(String message);
    } public void setOnReceivedMessageListener(MessageListener messageListener) {
    this.mMessageListener = messageListener;
    }