我有一个扩展 BroadcastReceiver
的类,可以读取新的短信
public class SmsReceiver extends BroadcastReceiver
{
// reading sms
// I want to send the sms text to my main activity
}
并且在同一个应用程序中有另一个类是我的主要 Activity
。
因此,当我收到新的短信时,我想将其内容发送到我已经在运行的主要 Activity 并显示它。
我怎样才能做到这一点?
我会感谢一些代码示例:)
最佳答案
我可以建议你两种可能性
- 从这个接收器发送新的广播到一个在你的 Activity 中注册的新接收器
- 在您的 Activity 中注册此接收器并减少麻烦
我想选项二更合适
这就是您可以在 Activity 类中注册广播接收器的方式:
IntentFilter filter = new IntentFilter();
public void onResume(){
filter.addAction("action_string_1");
filter.addAction("action_string_2");
registerReceiver(receiver, filter);
}
public void onPause(){
unregisterReceiver(receiver);
}
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals("action_string_1")){
//do something here
}
else if(action.equals("action_string_2")){
//do somethign here
}
}
};
关于Android:如何将对象从 BroadcastReceiver 发送到正在运行的 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9197969/