如何将BroadcastReceiver的数据传递给主要活动?

时间:2012-10-22 12:46:21

标签: java android android-intent broadcastreceiver

  

可能重复:
  How do I pass data from a BroadcastReceiver through to an Activity being started?

在我的Android应用程序中,我有一个名为App的主要活动和一个名为SmsReceiver的BroadcastReceiver。在onReceive()的{​​{1}}方法中,我希望捕获短信并将其内容发送回SmsReceiver。不过,我不知道该怎么做。这是通过App内的课程完成的吗?我已经尝试过这样做,并将该类的名称添加到AndroidManifest中,但在尝试调用它时,应用程序崩溃时出现错误,指出此类无法实例化。

(我知道此问题已经发布过,但我没有看到任何令人满意的答案。)

编辑,以说明我尝试的解决方案:

在AndroidManifest中,我添加了这个:

App

在App类中,我添加了:

    <receiver android:name=".App.SmsHandler" >
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>

public class SmsHandler extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        // Stuff here
    }
}

我尝试使用以下代码调用它(在public static final String TEXT_INTENT = "textintent"; 中,但这导致应用程序崩溃):

SmsReceiver

1 个答案:

答案 0 :(得分:2)

如果您只想在活动未被销毁时捕获事件,那么在活动中使用广播接收器就足够了。

如果你想捕捉所有广播,即使你的活动没有开始,也要看看Android Services

关于您的具体错误,如何粘贴在这里?也许你的代码?

相关问题