我写的是我编写BroadcastReceiver的sms应用程序。我想从BroadcastReceiver获取数据到我的活动中,所以我该如何得到它。请帮助我,请。
我的广播接收器代码如下:
public class SmsReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += msgs[i].getOriginatingAddress();
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
}
}
我希望将“str”值恢复到另一项活动中。
答案 0 :(得分:1)
在广播中:
Intent intent = new Intent(context, MyActivity.class);
intent.putExtra("sms-text", str);
context.startActivity(intent);
在您的活动中:
Intent intent = getIntent();
String sms = intent.getExtras().getString("sms-text");