在Android应用程序中的不同包中的两个不同类之间发送

时间:2012-10-21 11:44:40

标签: java android android-intent android-activity

我正在开发一个应用程序来接收短信并将Geo-location发送到来电号码。 SMSReceiver是一个类,另一个类是MainActivity ..

SMSReceiver extends BroadcastReceiver

MainActivity extends Activity ...

现在我想将Phone_number(字符串)从SMSReceiver类发送到MainActivity..

任何想法?我是Android开发的初学者!如果你需要Code我会给。提前致谢 !

1 个答案:

答案 0 :(得分:0)

您是否正在开始新的MainActivity?

如果是的话,

String phone = "";
Intent theIntent = new Intent(this, MainActivity.class); 
theIntent.putExtra("phoneNumber", phone);
startActivity(theIntent);

我不建议让广播接收器触发已经运行的MainActivity的更改。但是,如果您真的想这样做,有两种方法可以解决这个问题。

  1. 将清单中的活动设置为singleInstance,覆盖onNewIntent()功能,并在广播接收器中运行与之前相同的代码。

  2. 创建内容提供者/模型,让主要活动监听提供者/模型,在广播接收者被触发时更新模型。 (这要复杂得多)