可能重复:
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
答案 0 :(得分:2)
如果您只想在活动未被销毁时捕获事件,那么在活动中使用广播接收器就足够了。
如果你想捕捉所有广播,即使你的活动没有开始,也要看看Android Services。
关于您的具体错误,如何粘贴在这里?也许你的代码?