2011-04-18 68 views
1

我寫了短信應用程序,我寫了BroadcastReceiver.I想從BroadcastReceiver獲取數據到我的活動中,所以我怎麼得到它。請幫助我,請。如何將數據從BroadcastReciever恢復到Activity?

我的廣播Reciever代碼如下:

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」 值到另一個活動。

回答

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"); 
+0

是否即使MyActivity運行這項工作?它會導致創建重新運行或類似的東西? – Phil 2011-06-03 21:45:53