将Intent从BroadcastReceiver传递给Activity

时间:2013-12-04 07:26:17

标签: android android-intent android-activity broadcastreceiver

我已经在广播的Receiver类中检索了呼叫日志数据(数量,类型,日期,持续时间)。现在我想将该数据设置为活动类的列表视图。我无法获得如何通过这些数据之间的意图发送数据两个活动并设置为列表视图。 请帮我解决这个问题。

要在活动类中调用的代码 - :

String number = cursor.getString(cursor.getColumnIndex("address")); // check for null
                        String date = cursor.getString(cursor.getColumnIndex("date")); // convert to date its long
                        String message_text = cursor.getString(cursor.getColumnIndex("body"));
                        String type = cursor.getString(cursor.getColumnIndex("type")); // check type and get names

                        // send email from here
                        sendSMSEmail(number, date, message_text, type);
                    }
                }
                cursor.close();
                String finalData=number+"\n"+date+"\n"+message_text+"\n"+type;

我也传递了意图

Intent i=new Intent();
        i.putExtra(number,number);
        i.putExtra(date, date);
        i.putExtra(message_text, message_text);
        i.putExtra(type,type);
        context.sendBroadcast(i);

1 个答案:

答案 0 :(得分:0)

您可以通过2方式完成工作,首先使用static public定义适配器,然后在将数据设置到列表调用BroadcastRecivercontext.adapter.notifyDataSetChange();中定义适配器,并且不需要将数据从意图传递到您的类

第二种方法是在课程中编写一个要更新列表的接收者,然后在BroadcastReciver发送另一个Broadcast。并在接收器中更新您的列表。

我希望这对你有用