在我的 Android 应用程序中,我有一个名为的主要活动App
和一个名为的 BroadcastReceiver SmsReceiver
。在onReceive()
方法中SmsReceiver
,我想捕获一条短信并将其内容发送回App
。不过,我不知道该怎么做。这可以通过里面的课程来完成App
吗?我已经尝试过这样做,并将该类的名称添加到 AndroidManifest,但在尝试调用它时,应用程序崩溃并显示无法实例化此类的错误。
(我知道这个问题之前已经发布过,但我还没有看到任何令人满意的答案。)
编辑,以说明我尝试的解决方案:
在 AndroidManifest 中,我添加了以下内容:
<receiver android:name=".App.SmsHandler" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
在 App 类中,我添加了:
public class SmsHandler extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
// Stuff here
}
}
和
public static final String TEXT_INTENT = "textintent";
我尝试使用以下代码调用它(SmsReceiver
但这会使应用程序崩溃):
private void forwardSms(Message message, Context context) {
Intent myIntent = new Intent(MsgWallApp.TEXT_INTENT);
Bundle myData = new Bundle();
myData.putString("sender", message.getSender());
myData.putString("text", message.getText());
context.sendBroadcast(myIntent);
}