【发布时间】:2012-09-19 07:15:07
【问题描述】:
我在主要活动中注册了BroadcastReceiver。 Activity 在其中一个选项卡中发送一个粘性以触发广播接收器(TabActivity 应用程序)。
一切正常,但是当我重新启动应用程序时,粘性会自动发送(不是由用户触发)并打开视图。
我的问题是:这怎么可能?我是不是误会了什么?我该如何解决这个问题?
主要活动: 创建时:
registerReceiver(openOutgoingCall, new IntentFilter("OPENOUTGOINGCALL"));
广播接收者:
private BroadcastReceiver openOutgoingCall = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if(extras.isEmpty() == false) {
HashMap<String,String> callData = (HashMap<String, String>) extras.get("callData");
openOutgoingCall(callData);
}
}
};
TabHost 内的活动
public void openCall(View view) {
Intent i = new Intent("OPENOUTGOINGCALL");
i.putExtra("callData", detailInfo);
sendStickyBroadcast(i);
}
【问题讨论】: