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();
我的代码在这里得到一个短信。我想把它带回我的主要活动,但我不能使用我的意图并重新启动该活动(广播接收器是后台服务,人们将在此期间使用该应用程序。)而不是敬酒我怎样才能将该字符串传递给活动(我只有一个主要活动)。
答案 0 :(得分:1)
如果您希望仅在前台通知您的活动时,只需从短信广播接收器发送新广播,并从您活动中托管的广播接收器中截取它。
另一方面,如果你想检查当活动回到前台时是否发送了广播,即使在活动处于后台时收到短信,你仍然可以使用广播接收器,但你需要添加sticky intent,之后可以收到。
Plus:使用local broadcast receiver以节省资源。