从广播接收器接收短信的更新活动UI

问题描述:

  1. 我有一个SMSlist_activity.java显示短信会话的列表。
  2. 我有一个sms_receiver.java这是一个传入短信广播接收器。

现在我想,当通过sms_receiver.java收到一条短信,当然如果SMSlist_activity.java正在运行,可见此更新将只发生在SMSlist_activity.java更新短信会话列表。从广播接收器接收短信的更新活动UI

如果有人有想法,我会很高兴在这里。

最后我找到了一个广播接收器的解决方案。 INT sms_receiver.java,当收到短信,我广播意图:

  Intent intent2 = new Intent(); 
      intent2.setAction("co.ir.ts.app.sms.smsumad"); 
      context.sendBroadcast(intent2); 

在SMSlist_activity.java定义的应用程序清单我加意图过滤器,以便我可以SMSlist_activity.java接收广播:

<activity 
     android:name=".activity.SMSlist_activity"> 
     <intent-filter> 
      <action android:name="co.ir.ts.app.sms.smsumad" > 
      </action> 
     </intent-filter> 
    </activity> 

现在,在SMSlist_activity.java主类定义的广播接收机:

private BroadcastReceiver receiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //Updating UI here 
    } 
}; 
中的onResume方法

寄存器中的接收器上面创建:

@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    IntentFilter filter = new IntentFilter(); 
    filter.addAction("co.ir.ts.app.sms.smsumad"); 
    registerReceiver(receiver, filter); 
    super.onResume(); 
} 

终于在的onPause方法注销接收机:

protected void onPause() 
{ 
    unregisterReceiver(receiver); 
    super.onPause(); 
    if (isSentPending) 
    { 
     unregisterReceiver(sent); 
    } 
}