从BroadcastReceiver更新UI的最佳实践(用于接收新的短信)

com*_*lez 1 android

我有一个显示新短信的活动和SmsReceiver(扩展BroadcastReceiver)来接收传入的短信.收到短信后,更新用户界面的最佳做法是什么?

Luk*_*kap 5

好吧,如果您有自己的活动,那么您希望在用户收到短信后显示活动.然后在你的接收器中,onReceive方法你可以做到这一点

startActivity(new Intent(context,MyActivity.class));
Run Code Online (Sandbox Code Playgroud)

并将活动呈现给用户......

如果你想要添加额外的信息你可以使用putExtra("key","value")(这是意图的方法)你可以使用像

Intent i=new Intent():
i.putExtra("key","value");

startActivity(context,i);
Run Code Online (Sandbox Code Playgroud)

然后在活动onCreate方法中,您可以获取此信息

String value = intent.getStringExtra("key");
Run Code Online (Sandbox Code Playgroud)

像这样你就可以实现你的业务逻辑

编辑

当活动已经运行时,您可以使用

android:launchMode = ["multiple"| "singleTop"| "singleTask"| "singleInstance"]

我认为singleInstance和singleTask只会保留一个活动实例