从广播接收器接收短信的更新活动UI
问题描述:
- 我有一个
SMSlist_activity.java
显示短信会话的列表。 - 我有一个
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);
}
}