- 我有一个
SMSlist_activity.java
显示 sms-conversation 的列表。 - 我有一个
sms_receiver.java
接收短信的广播接收器。
现在我想在SMSlist_activity.java
通过 接收到短信时更新短信对话列表,当然,如果正在运行且可见sms_receiver.java
,则此更新只会发生。SMSlist_activity.java
如果有人有想法,我会很高兴在这里。
最后我找到了广播接收器的解决方案。int sms_receiver.java,当收到短信时,我广播了一个意图:
Intent intent2 = new Intent();
intent2.setAction("co.ir.ts.app.sms.smsumad");
context.sendBroadcast(intent2);
在 SMSlist_activity.java 定义的应用清单中,我添加了 Intent 过滤器,以便我的 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);
}
}