3
  if (messages.length > -1) {
                        int duration = Toast.LENGTH_SHORT;
                        Toast toast = Toast.makeText(context, "Message recieved: " + messages[0].getOriginatingAddress(), duration);
                        toast.show();
                        String value = "Message recieved: " + messages[0].getOriginatingAddress();

我的代码在这里收到一条短信。我想把它带回我的主要活动,但我不能使用我的意图并重新启动该活动(广播接收器是后台服务,人们将在此期间使用该应用程序。)而不是敬酒我如何将该字符串传递回活动(我只有一个主要的)。

4

1 回答 1

1

如果您希望仅在前台通知您的活动,只需从 sms 广播接收器抛出一个新广播,并从您的活动中托管的广播接收器拦截它。

另一方面,如果你想检查是否在activity回到前台时发送了广播,即使在activity在后台时收到了短信,你仍然可以使用广播接收器,但你需要添加一个sticky之后可以收到的意图。

另外:使用本地广播接收器以节省资源。

于 2013-03-26T22:21:10.280 回答